打印

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

[复制链接]
763|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 | 只看该作者
现在流行第二种

使用特权

评论回复
5
hitbuyi1|  楼主 | 2014-8-31 10:21 | 只看该作者
桌面开发第二种,MCU的话,第一种比较高效。

使用特权

评论回复
6
tianli1980| | 2014-9-11 14:55 | 只看该作者
第二种方式的问题在于硬件寄存器的操作不一定是完全规矩的,特别是碰到需要按位做操作的时候.

使用特权

评论回复
7
edishen| | 2014-9-11 20:23 | 只看该作者
tuyongfei 发表于 2014-8-28 08:07
现在流行第二种

;P;P

使用特权

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

本版积分规则

39

主题

78

帖子

0

粉丝