这是我做的一个串口通信的例子,大家看看
这是我做的一个串口通信的例子,各位高手大哥看看为什么不能显示字符串“'successful"#include<reg51.h>
#include<string.h>
char code ss="Successful";
int b;
int a;
main()
{
ES=1;
EA=1;
TMOD=0x20;//TI works at mode 2
SCON=0x50;//SM0=SM2=0,SM1=1;REN=1
TH1=0xfd;
TL1=0xfd;
TR1=1;
a=strlen(ss);
for(b=0;b<a;b++)
{SBUF=ss;}
}
http://cache.amobbs.com/bbs_upload782111/files_6/armok01117334.JPG 在VIRTUAL TERNINAL上点击右健,选字符显示! 谢谢alisha大哥,我点了,可那就什么也没有了,郁闷得很,请问串口仿真,除了波特率还有什么应该注意的吗?烦请看一下程序有什么问题没?谢谢 你在发数据的时候要检查UDRE状态。
下面是GCC的程序:
oop_until_bit_is_set(UCSRA,UDRE);
USART要注意停止位,校验位等的设置 谢谢 在VIRTUAL TERNINAL上点击右健,选字符显示!
Thanks
原来是这问题。难怪我看到的都是乱码。郁闷了三天。 我一直以为是程序错了......
呵呵,原来要在VIRTUAL TERNINAL上点击右健,选Hex Display Mode 才能显示数据!
谢谢... 修改一下就可以了
for(b=0;b<a;b++)
{
SBUF=ss;
while(!TI);
TI = 0;
} mark,学习!
页:
[1]