标题:
51单片机串口通信问题 为什么我发送的1返回的不是1呢?
[打印本页]
作者:
jinnan
时间:
2022-1-17 16:25
标题:
51单片机串口通信问题 为什么我发送的1返回的不是1呢?
为什么我发送的1返回的不是1呢?
串口.jpg
(137.52 KB, 下载次数: 36)
下载附件
2022-1-17 16:24 上传
作者:
munuc_w
时间:
2022-1-18 08:24
看看串口助手显示方式是HEX还是ASCII.
作者:
TEC
时间:
2022-1-18 09:24
检查一下板子上的晶振频率是多少,根据晶振频率确认一下你的波特率设置是否正确。
作者:
累不死的狗
时间:
2022-1-18 20:44
查一下波特率吧
作者:
Lxy18
时间:
2022-1-20 11:18
串口助手发送的数据是ASIIC码格式,需要在接收函数中将数据转换一下,可以将接收的数据-48或者-'0'。另外需要确认程序设置的波特率和串口助手的波特率一致,否则也会通讯失败。
自用串口初始化代码如下:
void Usart_Init(void)
{
/*12MHz晶振*/
SCON=0x50; //(0101)工作方式一:8位异步收发,波特率可变,允许接收数据
TMOD|=0X20; //设置计数器工作方式2,8位自动装载模式
PCON|=0x80; //波特率加倍
TH1=0xf3; //计数器初始值设置,波特率4800
TL1=0xf3;
TR1=1; //打开计数器
PS=1; //串口中断高优先级
ES=1; //打开接收中断
EA=1; //打开总中断
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1