微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一个从定时计数器赋初值引起的故事

一个从定时计数器赋初值引起的故事

时间:11-29 来源:互联网 点击:

A,选择Workspace”窗口下的“DRV”用“Project”->

2: void main()
3: {
4: int i;
5: unsigned char j;
6: i=-10000;
7:
C:0x008E 7FF0 MOV R7,#B(0xF0)
C:0x0090 7ED8 MOV R6,#0xD8
8: j=i/256;
9:
C:0x0092 7C01 MOV R4,#0x01
C:0x0094 7D00 MOV R5,#0x00
C:0x0096 120003 LCALL C?SIdiv(C:0003)
C:0x0099 8F08 MOV 0x08,R7
10: while(1)
C:0x009B 80FE SJMP C:009B

就是一个signed和unsigned的区别,用的着差别这么大吗?

通过以上的实验,可以得出结论:Keil编译器非常智能,会生成最短的代码,能够智能判断每个变量的使用,生成最短的代码。同时,学习单片机的各位同仁,除非万不得已,千万不要用signed类型。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top