简单的串口通信程序为什么没有反应

2019-03-24 17:59发布

用JTAG烧录hex文件,显示已成功烧录

程序如下:


#include<reg51.h>

#define uchar unsigned char

void delay(void)

{

unsigned char h,i,j,k;

for(h=5;h>0;h--)

for(i=4;i>0;i--)

for(j=116;j>0;j--)

for(k=214;k>0;k--)         ;

}

void serial_init()

{

EA=1;

TMOD=0x20;           //定时器1--方式2

TL1=0xfd;

TH1=0xfd;            //11.0592MHZ晶振,波特率为9600

SCON=0x50;           //串口方式1

PCON=0x00;            //SMOD=0;

TR1=1;               //启动定时

}

void send_one_char(unsigned char cht)

{

SBUF=cht;

while(TI==0);

TI=0;

delay();

}

main()

{

serial_init();

while(1)

{

send_one_char('B');

}

}


程序的意思就是单片机向PC发送BBB。。。

但我用串口助手一直没有接受到数据,只是发送什么,比如31,就接受回来什么。。。。

如下图所示:

1.PNG

求教各位这是为什么啊?

PS: 2.PNG 觉得这些设置应该没问题


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
bobde163
1楼-- · 2019-03-24 22:15
不明情况,帮顶一下,楼主再看看资料,看看串口初始化是否正确,还有你抓串口数据的工具是否是工作正常的
jishuaihu
2楼-- · 2019-03-25 00:01
 精彩回答 2  元偷偷看……
tianshuihu
3楼-- · 2019-03-25 00:42
硬件连接有没有问题,共地了吗
ienglgge
4楼-- · 2019-03-25 03:47
测一下,串口的两个引脚的电压是否正常,收发引脚是否有短路什么的。换个别的程序看看。
ZNF
5楼-- · 2019-03-25 09:08
 精彩回答 2  元偷偷看……
huaiqiao
6楼-- · 2019-03-25 12:06
这个你要自己看看了,一堆程序摆在这里也许没有人认真给你看。如果有空的话,可以去看看网上别人的案例和你的有什么不同,比较性的学习也是有助于成长的哦

一周热门 更多>