打印
[STM32F1]

sys.h文件疑点,求解答

[复制链接]
897|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ADDR, DDR, AC, AD, IO
刚才仔细研读了sys.h这个头文件,有个地方不明白,就是这个PAout(n)的定义。按道理它是GPIO_A的输出数据寄存器ODR的其中一个位,为什么上面的MEM_ADDR(addr)函数里,把这个位的地址转换成指向一个unsigned long数据的指针呢

沙发
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型

使用特权

评论回复
5
as564335sa| | 2014-12-25 08:45 | 只看该作者
GPIO寄存器是32位的,所以按32bit读,偏移量代表寄存器位,8位机看寄存器长度吧我是这么理解的

使用特权

评论回复
6
gaobc| | 2014-12-25 14:25 | 只看该作者
没看手册啊,STM32才有的位带操作,把每个位映射到一个空闲的32bit地址上方便使用单个位,stm8是没有的

使用特权

评论回复
7
monkeypony| | 2014-12-30 21:39 | 只看该作者
GPIO寄存器是32位的,所以按32bit读,偏移量代表寄存器位,8位机看寄存器长度

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

21

帖子

1

粉丝