打印
[国产单片机]

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

[复制链接]
1889|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#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 | 只看该作者
测试用,特地不加的

使用特权

评论回复
5
寂静的火| | 2014-8-14 09:25 | 只看该作者
硬件初始化有个初始化的过程,硬件的初始化都没完成也就是还不能正常工作的时候你就强迫他工作当然不正常了

使用特权

评论回复
6
peter_wjp| | 2014-8-15 10:41 | 只看该作者
硬件初始化需要一定时间的,

使用特权

评论回复
7
peter_wjp| | 2014-8-15 10:41 | 只看该作者
peter_wjp 发表于 2014-8-15 10:41
硬件初始化需要一定时间的,

如果真的设计上对这个时间有很严格要求,那就用CPLD吧,

使用特权

评论回复
8
ayb_ice| | 2014-8-15 15:20 | 只看该作者
秉烛良宵 发表于 2014-8-11 23:12
测试用,特地不加的

程序都不知道飞到哪去了,还测试什么呢

使用特权

评论回复
9
lwyjw| | 2014-8-16 15:54 | 只看该作者
人起床还要缓一缓,正常。

使用特权

评论回复
10
hnkf118| | 2014-12-12 01:04 | 只看该作者
呵呵。RPWT。 你这个是典型的乱搞。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

163

帖子

7

粉丝