记录一下两个很奇怪的问题

最近刚做好一个站,基于rails 3,教程为主,大家捧场看看,谢谢!www.yo945.com

单片机用的是STC89C52RC

第一个问题是,定义了一个unsigned int类型的全局变量后,单片机的速度变得莫名其妙的慢,有一个在1602液晶上显示一些字符的函数,结果却是大概2秒钟左右才显示一个字符。问题让人非常的费解,注释掉这个全局变量后,问题就全好了。更让我想不明白的是,这个全局变量我都没有使用,只是定义了想在后面用的。

第二个问题,延时函数,int参数只能传最大到255的值

void delay(int ms)

{

    int i,j;

    for(i=0;i<ms;i++)

        for(j=0;j<ms;j++);

}

这是一个非常普通的延时函数,结果发现延时的时候,本来想延时1000毫秒的,结果却是一闪而过,很让我费解。后来在KEIL里面调试,发现传的参数,都变了,最大只能是到255……几乎变成了unsigned char了

这两个问题也问了一些人,没人能给我解答,不知道是什么原因,莫非是KEIL 4的BUG不成?

单片机:STC89C52RC

编译器:KEIL 4 (9.0)

原文地址:https://www.cnblogs.com/varlxj/p/1746742.html