作风建设 宣讲家网站,wordpress批量修改,网站服务器如何做端口映射,WordPress同步某个表GPIO 通用型输入输出#xff0c;GPIO可以控制连接在其引脚实现信号的输入和输出 芯片的引脚和外部设备相连从而实现与外部硬件的通讯#xff0c;控制#xff0c;信号采集的功能。 控制CHG_COK引脚输出为高电平#xff0c;LED亮#xff0c;输出为低电平#xff0c;LED熄灭…GPIO 通用型输入输出GPIO可以控制连接在其引脚实现信号的输入和输出 芯片的引脚和外部设备相连从而实现与外部硬件的通讯控制信号采集的功能。 控制CHG_COK引脚输出为高电平LED亮输出为低电平LED熄灭。 查找CHG_COK引脚由GPX2_7控制器控制。 接着查询怎么控制GPX2_7寄存器 第28-32位控制GPX2_7是输入/输出模式不能控制发出的是高电平还是低电平 当配置为输出端口时引脚状态应该与相应的位相同。 也就是说第7位设置为1那么GPX2_7引脚输出即为1高电平 使用汇编语言控制寄存器
.text
_start:MAIN:BL LED_CONFIG
LOOP:BL LED_ONBL DELAYBL LED_OFFBL DELAYB LOOPLED_CONFIG:LDR R2,0x11000c40LDR R1,0x10000000STR R1,[R2]MOV PC,LRLED_ON:LDR R2,0x11000c44LDR R1,0x00000080STR R1,[R2]MOV PC,LRLED_OFF:LDR R2,0x11000c44LDR R1,0x00000000STR R1,[R2]MOV PC,LRDELAY:LDR R1,1000000000
L:SUB R1,R1,#1CMP R1,#0BNE LMOV PC,LRSTOP:B STOP
.end/*
一.汇编语言访问存储器1.读存储器 LDR R1,[R2]2.写存储器 STR R1,[R2]二.C语言访问存储器1.读存储器 data *ADDR2.写存储器 *ADDR data*/ 使用C语言控制寄存器
void Delay(unsigned int Time)
{while(Time --);
}#if 0
int main()
{/*通过设置GPX2CON寄存器来将GPX2_7引脚设置成输出功能*/*(unsigned int *)0x11000c40 0x10000000;while(1){/*点亮LED2*/*(unsigned int *)0x11000c44 0x00000080;/*延时*/Delay(1000000);/*熄灭LED2*/*(unsigned int *)0x11000c44 0x00000000;/*延时*/Delay(1000000);}return 0;
}
#endif#if 0
#define GPX2CON (*(unsigned int *)0x11000c40)
#define GPX2DAT (*(unsigned int *)0x11000c44)int main()
{GPX2CON 0x10000000;while(1){/*点亮LED2*/GPX2DAT 0x00000080;/*延时*/Delay(1000000);/*熄灭LED2*/GPX2DAT 0x00000000;/*延时*/Delay(1000000);}return 0;
}
#endif#if 0
typedef struct
{unsigned int CON;unsigned int DAT;unsigned int PUD;unsigned int DRV;
}gpx2;#define GPX2 (*(gpx2 *)0x11000c40)int main()
{GPX2.CON 0x10000000;while(1){/*点亮LED2*/GPX2.DAT 0x00000080;/*延时*/Delay(1000000);/*熄灭LED2*/GPX2.DAT 0x00000000;/*延时*/Delay(1000000);}return 0;
}
#endif#if 0
#include exynos_4412.hint main()
{GPX2.CON 0x10000000;while(1){/*点亮LED2*/GPX2.DAT 0x00000080;/*延时*/Delay(1000000);/*熄灭LED2*/GPX2.DAT 0x00000000;/*延时*/Delay(1000000);}return 0;
}
#endif#include exynos_4412.hint main()
{GPX2.CON GPX2.CON (~(0xF 28)) | (0x1 28);while(1){/*点亮LED2*/GPX2.DAT GPX2.DAT | (1 7);/*延时*/Delay(1000000);/*熄灭LED2*/GPX2.DAT GPX2.DAT (~(1 7));/*延时*/Delay(1000000);}return 0;
}Tips:
/** 1.unsigned int a; 将a的第3位置1其他位保持不变* ******** ******** ******** ********* ******** ******** ******** ****1**** 00000000 00000000 00000000 00001000** a a | (1 3);** 2.unsigned int a; 将a的第3位置0其他位保持不变* ******** ******** ******** ********* ******** ******** ******** ****0**** 11111111 11111111 11111111 11110111** a a (~(1 3));** 3.unsigned int a; 将a的第[7:4]位置为0101其他位保持不变* ******** ******** ******** ********* ******** ******** ******** 0101****** 1).先清零* 11111111 11111111 11111111 00001111* 00000000 00000000 00000000 11110000* 00000000 00000000 00000000 00001111** a a (~(0xF 4));** 2).再置位* 00000000 00000000 00000000 01010000* 00000000 00000000 00000000 00000101** a a | (0x5 4);** a a (~(0xF 4)) | (0x5 4);*/