KEIL C51中对常数的宏定义计算错误

2020-02-05 08:56发布

#define                Fosc 22118400
#define                Tim1num2        940//xxus延时   1ms中断,也是1ms时间基准       
#define                Tim1Temp2TH1   (uchar)((65535-(uint)(Tim1num2*Fosc/1000000))/256) //
#define                Tim1Temp2TL1   (uchar)((65535-(uint)(Tim1num2*Fosc/1000000))%256)       

       
TH1=Tim1Temp2TH1;
                TL1=Tim1Temp2TL1; //T1计数xms

软件仿真得到的TH1=0X02; TL1=0XAA
而我的计算值本来为0XAE 0XC8
请教各位应该如何写这种关系式计算
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
hedongying41
1楼-- · 2020-02-06 13:37
 精彩回答 2  元偷偷看……
chinabn
2楼-- · 2020-02-06 17:49
hailing 发表于 2012-7-1 09:29
明白了,原来是这样。
在数字后面加UL,L等编译器知道含义,但是我试了下UC,C,I等想表示char int等编译器好 ...

老问题了!应该是上电顺序问题

一周热门 更多>