
NEC单片机
c_huabo
这个作者很懒,什么都没留下…
展开
-
一个内存数据相减运算的思考
有一块内存区域,其中某两个地址开始的地方存有两个32位的无符号整型,现在用程序如何把它们的差相减出来? 一刚开始想,这有何难?写一个函数就搞写了呗,象这样传入第一地址、第二个地址: INT32U MemSub(INT32U* src1,INT32U* src2) {原创 2011-10-11 13:02:15 · 1307 阅读 · 0 评论 -
IAR 78KOR的编译器优化问题
今天在IAR环境下写了一个简单的语句,temp->A_Quotiety=3574*210/60/10;竟然提示提示警告: Warning[Pe061]: integer operation result is out of range ; 开始没有注意,程序运行后,才发现返回原创 2011-10-12 11:58:26 · 2386 阅读 · 0 评论 -
NEC单片机内存数据存储形式
一个unsigned long32位无符号整数在内存中的存放形式如: unsigned long32 temp32; temp32=0x006F508A,如果temp32的地址为0xfe824, ... 0xfe823 ... 0xfe824 8a 50 6f 00原创 2011-10-11 16:56:31 · 1035 阅读 · 0 评论 -
单片机的减法运算很危险
下面的式子中,如果SecondCnt 一个负数,在单片机中,是没有负数的概念的,如果减得-60的话,如果是16位单片机, 实际上-60是被表示为FFC4,实际上是65476,那样的话,实际上就和我们原来的意思相反, 而应该用?:运算符判断一下,如果不够减,取0; 应该改为if((cnt++ >= 5)||((SecondCnt>=LastSecondCnt?SecondCnt-Last原创 2012-03-29 14:54:21 · 3747 阅读 · 0 评论 -
嵌入式程序开发不能犯的错误
搞嵌入式程序开发时,大多用C、C++语言,而这两种语言的优势就是指针非常灵活,每个程序员进行指针操作时必须心里时时刻刻明白,传入的参数应该 是一个值,还是地址,否则,结果会很严重,如memcpy、memove这些函数时,一定要把正确的地址传进去,如果传入的是变量时,一定不要忘记在前面 加上“&”取地址符号;原创 2012-08-03 11:16:26 · 675 阅读 · 0 评论