[STM32F1] sys.h文件疑点,求解答

[复制链接]
1410|6
 楼主| 吃饱了不饿 发表于 2014-12-24 16:11 | 显示全部楼层 |阅读模式
ADDR, DDR, AC, AD, IO
刚才仔细研读了sys.h这个头文件,有个地方不明白,就是这个PAout(n)的定义。按道理它是GPIO_A的输出数据寄存器ODR的其中一个位,为什么上面的MEM_ADDR(addr)函数里,把这个位的地址转换成指向一个unsigned long数据的指针呢

QQ图片20141224160848.jpg
gaobc 发表于 2014-12-24 16:24 | 显示全部楼层
作为一个32bit地址来操作的
 楼主| 吃饱了不饿 发表于 2014-12-24 23:05 | 显示全部楼层
如果放到STM8的8位机里,是不是也要对应的数据类型,比如char型
 楼主| 吃饱了不饿 发表于 2014-12-24 23:06 | 显示全部楼层
gaobc 发表于 2014-12-24 16:24
作为一个32bit地址来操作的

如果放到STM8的8位机里,是不是也要对应的数据类型,比如char型
as564335sa 发表于 2014-12-25 08:45 | 显示全部楼层
GPIO寄存器是32位的,所以按32bit读,偏移量代表寄存器位,8位机看寄存器长度吧我是这么理解的
gaobc 发表于 2014-12-25 14:25 | 显示全部楼层
没看手册啊,STM32才有的位带操作,把每个位映射到一个空闲的32bit地址上方便使用单个位,stm8是没有的
monkeypony 发表于 2014-12-30 21:39 | 显示全部楼层
GPIO寄存器是32位的,所以按32bit读,偏移量代表寄存器位,8位机看寄存器长度
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

21

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部