朱工的专栏

专注/深入/分享

排序:
默认
按更新时间
按访问量

编写优质嵌入式C程序

前言:这是一年前我为公司内部写的一个文档,旨在向刚踏入嵌入式编程的年轻工程师们介绍如何在裸机环境下编写优质嵌入式C程序。本文通过一些我遇到的、同事遇到的或者一些前人遇到的典型案例来分析嵌入式C中的一些关键点,感觉还是有一定的参考价值,所以拿出来分享,抛砖引玉。 摘要:本文首先分析了C语言的陷阱...

2015-05-05 21:26:30

阅读数:44003

评论数:34

嵌入式软件可靠性设计的一些理解

0.前言           设备的可靠性涉及多个方面:稳定的硬件、优秀的软件架构、严格的测试以及市场和时间的检验等等。这里着重谈一下作者自己对嵌入式软件可靠性设计的一些理解,通过一定的技巧和方法提高软件可靠性。这里所说的嵌入式设备,是指使用单片机、ARM7、Cortex-M0,M3之类为核心的...

2013-12-04 15:00:51

阅读数:12540

评论数:5

曾让我哭笑不得抓狂的C语言

1.关于+=以及-=  这是两个运算符,但你否有过这种经历: int temp; char i for(i=0;i<MAX;i++) { ... temp=+2; //这里本意是每次循环,temp都自增2,但是却将'+='写成了'=+',按照这种写法,每次循环都为temp赋值...

2012-02-11 21:33:21

阅读数:8346

评论数:7

又见优先级

<br />最近编写一个程序,其中有下面一句,g_ucTimeValue[0]=0x23,但表示的确是十进制的23,我想使用下句代码将这个十进制的23变成十六进制的0x17,但结果d的值却是0x07,为了查找根源,对这句C语言进行反汇编.<br />d=(g_ucTimeV...

2011-04-23 12:20:00

阅读数:1619

评论数:0

运算符优先级引发的bug

这个错误也是好久前的了.   错误描述:在一个程序中,我想判断一个寄存器与(&)上(1              if(IO0SET&(1   这样写其实是得不到正确的结果的,因为我忽略了"=="的优先级是大于"&"的.按照上面的代码...

2010-11-01 19:14:00

阅读数:1680

评论数:0

嵌入式C语言不可不用的关键字

<br />1.static关键字<br />这个关键字前面也有提到,它的作用是强大的。<br />要对static关键字深入了解,首先需要掌握标准C程序的组成。<br />标准C程序一直由下列部分组成:<br />       1)正文...

2010-10-29 19:47:00

阅读数:7803

评论数:9

嵌入式C语言之---模块化编程

当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起完成项目,这就要求小组成员各自负责一部分工程。比如你可能只是负责通讯或者显示这一块。这个时候,你就应该将自己的这一块程序写成一个模块,单独调试,留出接口供其它模块调用。最后,小组成员都将自己负责的模...

2010-10-29 11:38:00

阅读数:52098

评论数:30

良好的编程风格(二)

本文摘自我整理编写的,完全版本请访问http://wenku.baidu.com/view/36c515ec102de2bd960588f5.html 3.标识符 a. 变量的命名 方法一:采用匈牙利命名法。命名规则的主要思想是“在变量中加入前缀以增进人们对程序的理解”。 ...

2010-10-16 19:34:00

阅读数:6725

评论数:6

良好的编程风格(一)

<br />本文摘自我整理编写的<嵌入式C进阶之道>,完全版本请访问http://wenku.baidu.com/view/36c515ec102de2bd960588f5.html<br /> <br />编程的总则:编程首要是要考虑程序的可行性,...

2010-10-16 19:33:00

阅读数:4282

评论数:5

*string++优先级的问题

这个东西困扰了我几天,关于优先级问题确实是个恼人的东西,为了这个专门翻了C语言课本,得知 所有一目运算符都是第二级优先级 结合性是从右到左 那么*string++应该就是*(string++),也就是先++,再*取值。但是让我想不通的是先++后,指针指向了下一地址,那么当前地址不久落开了吗?...

2009-10-22 11:03:00

阅读数:2687

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭