[国产单片机] STC单片机串口初始化完为什么要延时才可以用?

[复制链接]
2241|9
 楼主| 秉烛良宵 发表于 2014-8-9 23:20 | 显示全部楼层 |阅读模式
#include<AT89X52.h>
#include<stdio.h>
sfr AUXR   = 0x8E;
void InitUART(void)
{
    AUXR = AUXR|0x40;  // T1, 1T Mode
   TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xD9;
    TL1 = TH1;
    PCON = 0x00;
    TR1 = 1;
  TI = 1;
}

void main(void)
{
unsigned int i = 1000;
InitUART();
while(i--);
printf("%s","查看当前数据");
}
  

如果上面的i=1000改为i=500串口输出就乱码了



哪个高手能帮我解释下这是为什么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
wangch_sh 发表于 2014-8-10 13:26 | 显示全部楼层
林妹妹
ayb_ice 发表于 2014-8-11 09:49 | 显示全部楼层
主程序连个while(1)都没有
 楼主| 秉烛良宵 发表于 2014-8-11 23:12 | 显示全部楼层
测试用,特地不加的
寂静的火 发表于 2014-8-14 09:25 | 显示全部楼层
硬件初始化有个初始化的过程,硬件的初始化都没完成也就是还不能正常工作的时候你就强迫他工作当然不正常了
peter_wjp 发表于 2014-8-15 10:41 | 显示全部楼层
硬件初始化需要一定时间的,
peter_wjp 发表于 2014-8-15 10:41 | 显示全部楼层
peter_wjp 发表于 2014-8-15 10:41
硬件初始化需要一定时间的,

如果真的设计上对这个时间有很严格要求,那就用CPLD吧,
ayb_ice 发表于 2014-8-15 15:20 | 显示全部楼层
秉烛良宵 发表于 2014-8-11 23:12
测试用,特地不加的

程序都不知道飞到哪去了,还测试什么呢
lwyjw 发表于 2014-8-16 15:54 | 显示全部楼层
人起床还要缓一缓,正常。
hnkf118 发表于 2014-12-12 01:04 | 显示全部楼层
呵呵。RPWT。 你这个是典型的乱搞。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

163

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部