#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
请教各位应该如何写这种关系式计算
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
#define Tim1num2 940L
这样试试!!
keil的c51的int型是16位的,最大32767,倒是keil的arm编译器int类型是32位的。
在数字后面加UL,L等编译器知道含义,但是我试了下UC,C,I等想表示char int等编译器好像不认。但是U也认的。
to 3L,我使用的的STC的1T模式。
另外昨天使用PL2303线对STC下载时发现一个有趣的现象:默认的最高和最低波特率无法下载。两个都设为2400是能下载,但是速度很慢,把两个都设为115200反而能下载了,成功率很高,不能下载的话把连片子的串口插拔下再上电就能下载了。
这个我不敢用,经常蓝屏.尤其是发送串口数据的时候.
一周热门 更多>