历史上的今天
今天是:2024年11月20日(星期三)
2018年11月20日 | 关于单片机代码架构分层
2018-11-20 来源:eefocus
最近看了一个大神吴坚鸿的文章,他的软件架构写得还是不错的,但是代码风格一般,全局变量满天飞,但开发出来的产品稳定,性能也好。不管怎么说,在企业里,老板只追求结果,不追求过程,即使代码写得再不好,能实现功能就不错了。在这里,我借鉴他的“”三区一线理论“做下分析”。
[cpp] view plain copy print?
#include
void init();
void initial();
void delay_l(unsigned int ul);
void APK();
void main()
{
/* 注释一:
* 专门用来初始化单片机自己的寄存器以及个别外围要求响应速度快的输出设备,
* 防止刚上电之后,由于输出IO口电平状态不确定而导致外围设备误动作,
* 比如继电器的误动作等等。
*/
init();
/* 注释二:
* 延时时间一般是0.3秒到2秒之间,等待外围芯片和模块上电稳定。
* 比如液晶模块,AT24C02存储芯片,DS1302时钟芯片,
* 这类芯片有个特点,一般都是跟单片机进行串口或并口通讯的,
* 并且不要求上电立即处理的。
*/
delay_l(100);
/* 注释三:
* 专门用来初始化不要求上电立即处理的外围芯片和模块.
* 比如液晶模块,AT24C02存储芯片,DS1302时钟芯片。
*/
initial();
/* 注释四:
* while(1){}主函数循环区属于鸿哥三区一线理论的第三区,
* 专门用来编写被循环扫描到的非中断应用程序
*/
while(1)
{
APK();
}
}
上一篇:1T和12T单片机的区别
下一篇:无人机涉及了哪些单片机知识
史海拾趣
|
1、判断极性首先将万用表拨在R×1KΩ挡,用万用表测量时,若某一极与其它两极阻值为无穷大,调换表笔后该极与其它两极的阻值仍为无穷大,则判断此极为栅极(G)。其余两极再用万用表测量,若测得阻值为无穷大,调换表笔后测量阻值较小。在测量阻值 ...… 查看全部问答> |
|
很奇怪的问题 wince 串口测试应用程序 writefile(...)函数没有执行完就失败了,然后程序死掉了。 串口测试的writefile(...)函数没有执行完就失败了,没有任何返回结果。writefile的下一个语句做断点,没有执行到。 if(hComm!=INVALID_HANDLE_VALUE&&dwCharToWrite!=0) { &nbs ...… 查看全部问答> |
|
异常是导致处理器脱离正常运行转向执行特殊代码的任何事件,如果系统不及时处理,系统轻则出错,重着导致系统毁灭性的瘫痪。所以正确地处理异常避免错误的发生是提高软件的鲁棒性重要的一方面,对于嵌入式系统更加如此。 异常可以分成两类 ...… 查看全部问答> |
|
DIY导航避障车小组今日下午展开第一次例会,在本次例会中大家集中讨论了无线的选择,避障的选择等等部分,并对小车进行了前景规划,以谷歌的自动驾驶车为终极目标,大家积极发言例会持续了一个半小时,并表示未来会采用各种新技术。下次再来把细节 ...… 查看全部问答> |
|
您知道“软文”的含义吗?什么,不知道。赶紧百度一下吧,别被OUT了 [ 本帖最后由 longxtianya 于 2011-11-6 20:19 编辑 ]… 查看全部问答> |
|
4月24日阴雨天气,阿牛哥上午9点去北京朝阳区五洲皇冠大酒店参加泰克2012年度春季创新论坛。热情的工程师们朋友已经在会场里聆听泰克的测试测量行业趋势观点,泰克领先测试测量方案,还有一些工程师朋友在展厅参观泰克最新 ...… 查看全部问答> |




