能否将p0口放在一个数组中

2019-03-24 16:54发布

小白想问一下,能不能把一组io口比如p0口放在一个数组中,感觉这样用for去操作写流水灯会方便一些,如果能的话应该怎么定义数组 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
cruelfox
1楼-- · 2019-03-24 21:45
你这个问题是跟具体硬件相关的,常规的 GPIO 寄存器设计都是一个输出口状态对应一个 bit,所以修改一个I/O口状态是要通过内存地址的位操作。但是 C 语言的最小数据类型 char, 至少8-bit宽度,所以必须通过按位运算来实现。除非有的 MCU 具有单独写 1-bit 的指令,然后编译器对 C 语言作了扩展才可能。
还有一种情况,是有的支持 bitband 的 MCU 可以,就是把一段内存地址的位操作影射成字节/字操作。
懒猫爱飞
2楼-- · 2019-03-24 22:18
 精彩回答 2  元偷偷看……
tiankai001
3楼-- · 2019-03-25 01:20
不合适,不能这样做
hujj
4楼-- · 2019-03-25 04:54
数组本身也对应到内存地址,端口也有具体的地址,从原理上看也许可以,但实际操作可能比较麻烦,正象3楼版主所说,定义成指针操作可能会方便些。

一周热门 更多>