探讨两种配置硬件模块方法的优劣

[复制链接]
1154|6
 楼主| hitbuyi1 发表于 2014-8-23 18:07 | 显示全部楼层 |阅读模式


第一种,是写一些函数,然后在函数里对模块(比如SCI)的寄存进行配置,举例如下
void sci_baudate()  {配置寄存器}
void sci_FifoSet(){设置FIFO}

第二种方法,是定义一个数据结构,然后用这个数据结构去配置寄存器,举例如下

typedef{
uint16  baudrate;
uint16  fifolevel;
....
}sci_config;
sci_config  sci_config_para={9600,8,...}
再用sci_config_para里的数去配置寄存器


哪一种比较好一点? 我觉得第一种比较直接,第二种看起来所有数据集中到一起了,比较好看,但还要花一些内存去存这些参数,第一种直接把参数放到寄存器中去了。
zhangjin_comeon 发表于 2014-8-26 23:03 | 显示全部楼层
个人觉得第二种用好了更直观一些
小木欧尼 发表于 2014-8-27 22:33 | 显示全部楼层
那就用第二种吧
tuyongfei 发表于 2014-8-28 08:07 | 显示全部楼层
现在流行第二种
 楼主| hitbuyi1 发表于 2014-8-31 10:21 | 显示全部楼层
桌面开发第二种,MCU的话,第一种比较高效。
tianli1980 发表于 2014-9-11 14:55 | 显示全部楼层
第二种方式的问题在于硬件寄存器的操作不一定是完全规矩的,特别是碰到需要按位做操作的时候.
edishen 发表于 2014-9-11 20:23 | 显示全部楼层
tuyongfei 发表于 2014-8-28 08:07
现在流行第二种

;P;P
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

78

帖子

0

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