单片机交流
直播中

王萍

7年用户 1278经验值
私信 关注
[问答]

如何把硬件不规则的端口IO映射到一个规则的软件端口中?

如何把硬件不规则的端口IO映射到一个规则的软件端口中?

回帖(1)

刘萍

2021-10-15 17:35:57
1.灵活地运用结构体和共用体提高自己的编程水平;
c语言位域结合共用体的使用,使变量 a 的每一位对应结构体位域中的每一个变量。
使对变量的位操作变得通俗易懂。




注意:不同的编译器环境的内存排布不一样,一定要注意编译系统是小端模式,还是大端模式,避免出错。
2.把硬件不规则的端口IO映射到一个规则的软件端口中(思想:把硬件资源变成软件数据,然后软件再处理数据)
用结构体编写一个模拟的IO端口,当硬件IO改变时,只需要改变下面这部分代码所对应的映射引脚。



模拟的IO端口结构体





编写端口赋值函数





编写端口数据读取函数





矩阵键盘键值读取函数



总结:运用以上的结构,当硬件发生改变时,能够很好的进行移植。相当于用软件定义了一个中转的模拟IO端口,不管硬件如何改变,都不会影响到软件端口的映射,但执行效率不如直接操作的高。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分