接口技术:
说白了就是,你要控制什么的东西然后,你找出这个东西是哪个口来控制,这个口所对应的是那个控制器,那你往那个控制器里面去配置一些寄存器就可以实现了(配置控制器里面的寄存器)
GPIO
我们这里要控制一盏的(LED2)
翻芯片手册,找gpx2-7;
这里配置的是gpx2con寄存器,基本上每一个寄存器都是3位,你配置[31-28]就是配置了gpx2con[7]的状态,这里我们配置为输出(output mode)就是GPX2CON的31-28位为0x1
GPX2CON = 0X01000000;
这样写是错误的,因为你改变了其它位的值,比如我的GPX2CON[6]在UART状态,你直接就给我改成了input输入状态了
我们要只改我们想要改变的值
用位运算
gpx2con = gpx2con | (0x1 << 28)
(这样写,明显也是错的,你没有把31~29位清零,万一之前有值呢?)
所以我们应该先把31~28位清零,再把28位置一
GPX2CON = GPX2CON & (~(0XF << 28)) | (0X1 << 8)
下面还要配置一个数据位
GPX2DAT寄存器虽然是32位寄存器但是它只用了8位,英文解读为第几位为1,那么第几为输出为高电平
gpx2dat = gpx2dat | (0x1 << 8)
代码:
汇编:
C
在这里,我们的板子还没有装操作系统,这样写的cpu肯定不认识,所以我们使用了,c工程和封装,利用makefile去编译成.bin文件,
MAKEFILE我也写不来,不要问我。
arm-contex-A9接口技术—GPIO
最新推荐文章于 2024-04-16 11:24:07 发布