微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机串行通信

单片机串行通信

时间:10-02 整理:3721RD 点击:
单片机怎样接收上位机发送的四个字节的十六进制数,如00 55 AA FF。接收后给上位机回复01,若接收不对,则回复00.

可以参考下我这三篇帖子,给你点启发,单片机和传感器串口通信的
【RSP1多普勒雷达传感器试用体验】-_- RSP1联手51(三)
http://bbs.elecfans.com/forum.ph ... d=547202&extra=        
【RSP1多普勒雷达传感器试用体验】-_- RSP1联手51(二)
http://bbs.elecfans.com/forum.ph ... d=547048&extra=
【RSP1多普勒雷达传感器试用体验】-_- RSP1联手51(一)
http://bbs.elecfans.com/forum.ph ... d=545899&extra=  

打不开,三篇都是打不开            

你试试 可能论坛调整了
http://bbs.elecfans.com/forum.ph ... d=545899&extra=
http://bbs.elecfans.com/forum.ph ... d=547048&extra=
http://bbs.elecfans.com/forum.ph ... d=547202&extra=

还有一篇  你可以删减删减改吧改吧代码
http://bbs.elecfans.com/forum.ph ... d&tid=547611&extra=

上位机是电脑还是单片机?

可用STC-ISP软件中的串口助手直接写入16进制数安排好波特率和COM口就可以发送到你VS2010编写的软件再以窗体实现!

串口通信,CRC校验就可以判断接收数据对不对。校验无误置1。

建立一个数组
  RxBuf[rec_cnt++]=SBUF0;
if(RxBuf[0]!=0x00)
{
rec_cnt=0;
}
else if(RxBuf[1]!=0x55)
{
rec_cnt=0;
}
else if(RxBuf[2]!=0xAA)
{
rec_cnt=0;
}else if(RxBuf[3]!=0xFF)
{
rec_cnt=0;
}
else
{
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top