导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教串口的问题[winz]

 *第42163篇: 请教串口的问题

  
楼 主:winz 2006年7月22日11:27
 请教串口的问题
初学单片机,碰到一个问题,如何使用串口呢?我按照书上的要求,
1 配置timer1,
2 配置SCON等寄存器。
3 写SBUF
4 等待TI变成1,说明发送完成。

可是,我在程序中只想发送一个字节,结果把程序烧进flash之后,发现这个字节却是循环的发出。波特率4800,程序如下:
PCON|=0x80;
TMOD|=0x20;
TL1=0xf3;TH1=0xf3;
SCON=0x50;

EA=0;
TR1=1;
TI=0;

SBUF='B';
while(TI==0);
TI=0;

问题出在哪里呢?我并没有循环发数的指令啊。

  
2楼:hard_william 2006年7月24日12:58
 就这点程序代码?
全贴出来吧,这样叫人怎么看啊。

SBUF='B';
while(TI==0);
TI=0;
while(1);
加上这条就应该没问题了吧。

只是解决但不知道原因(很多人都知道怎么解决,假如能贴全点,很多人都会知道原因)

  
3楼:winz 2006年7月24日14:43
 为什么看不到回复呢
代码就这么短,没有别的功能,只是想让单片机通过串口发一个字节,结果却是连续的发送。看反汇编窗口,很奇怪的一点,反汇编的最后一条汇编语句是LJMP main!我的程序里,那条语句是返回main的呢?

诸位高手能不能给我指点一下迷津?或者发一个串口的程序给小弟看看?


>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:关于红外耳温仪请教大哥!

[下一篇主题]:求购二手ARM9开发板(广州)