4490|6

4996

帖子

19

TA的资源

裸片初长成(初级)

楼主
 

大家一起聊聊怎样设计真正结构化的程序 [复制链接]

最近发现很多网友在遇到问题时发出的C程序代码,程序中有着大量的寄存器的应用。对于C程序来说,本身是大同小异的,但是如果程序中有大量的寄存器,会导致没有使用过此款单片机的网友无法帮助解决问题,那么大家来谈怎样才能实现真正结构化的程序,而且要保证代码必须有很好的移植性,也就是说,保证每一个懂C的人都能看懂,而且没一个函数要做到真正的独立。

此帖出自NXP MCU论坛

最新回复

我也是一个c对应一个h文件,而且放在一个文件夹中,但是你说的上面那5点我一点都做不到,对小项目来说没有必要,虽然对学习和规范化来说很有必要,但是似乎太难做到了。  详情 回复 发表于 2012-8-15 19:29
点赞 关注
个人签名我的博客
 

回复
举报

4996

帖子

19

TA的资源

裸片初长成(初级)

沙发
 
先说说我的做法吧:

1. C文件中不出现与管脚,寄存器等不同微处理器不同的任何东西。

2. 所以与单片机相关的定义都用宏在头文件中进行定义。

3.任何函数都不能应用全局变量,即使要用也是通过参数传输。

4.任何函数都不能使用goto语句,且函数不能超过60行代码。

5. 任何相对独立的功能都写成一个标准函数。
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

79

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

我的一点看法(比较菜,别介意)

结构化得程序设计有几种方法,在8位单片机上的话可以用时间片轮和分层的方法,再高深点的话可以自己写个简化版得RTOS移植上去。然后我觉得设计的思路很重要
此帖出自NXP MCU论坛
 
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

4
 

 

我喜欢的模式,以前在stc12c5a60s2上面写过一个类似的驱动库,现在用msp430也喜欢这样搞。

 

有机会上传430版的全部代码(类似M3的驱动库)

 

副文章一篇

 

http://hi.baidu.com/lyzhangxiang/blog/item/671f1c317ac4f895a8018e71.html

 

 

此帖出自NXP MCU论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(中级)

5
 

看看STM32的固件库吧,功能封装的很好,接近Windows平台的API了,Ti M3的驱动库也行。

此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

6
 
每个人的看法是不一样的,我还是喜欢,一个c对应一个h文件,而且放在一个文件夹中,并于移植
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

7
 
我也是一个c对应一个h文件,而且放在一个文件夹中,但是你说的上面那5点我一点都做不到,对小项目来说没有必要,虽然对学习和规范化来说很有必要,但是似乎太难做到了。
此帖出自NXP MCU论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表