两个单片机串口接收发送数据通信,发送那个单片机串口接收发送数据是如何知道接收那个单片机串口接收发送数据完成接收,继续发第二个数据。

电脑上插了两个USB虚拟串口设备A与B,分别连接至单片机与串口屏,怎么能实通过计算机,实现这两个设备的通信?... 电脑上插了两个USB虚拟串口设备A与B,分别连接至单片机与串口屏,怎么能实通过计算机,实现这两个设备的通信?

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

首先,获取单片机和串口屏的通信协议;

其次,在PC中编写串口通信软件,分别控制两个设备即可;

调试的时候,可以先用现有的串口助手类软件如串口调试助手,或者自定义协议功能的通信软件如格西烽火,测试和验证你定义的协议。

你做过这样的程序么?求一个PC的程序!
}

从现象上来看是在接收时停止位被采样成最高位了。

检查你的波特率设置,此外通讯波特率的精度可能也有问题。

你用的单片机晶振是多少?

我是在proteus上进行的仿真,单片机晶振12,波特率9600,还需要怎么设置呢,谢谢回答

感觉像波特率或是效验位等设置问题,不像程序的问题,另外你串口助手那端的设置最好也说下

波特率设置与晶振的大小是根据单片机的型号来设的。

}
波特率设为9600,因为发现接收错误,所以中间用了delay_ms(500),慢速率发送... 波特率设为9600,因为发现接收错误,所以中间用了delay_ms(500),慢速率发送

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

TXD 与RXD两根线有没接反?

发送接收线没有接反,波特率设的都是9600,硬件电路您指哪里?功能只是发送,那硬件只接了TXD端,没有问题吧。
都接上去试试,你用的什么通信芯片?
rs232一边USB接电脑,一边是两排9口的那种接口,接地和TXD两根线
RS232通信应该问题不大,你是单片机转成232信号后再接一根232转USB的数据线与电脑连是吗?可以试试单片机转232信号后直接连电脑输出数据看看对不对?
我是将AVR128的TXD0端接到232接收端,将AVR的地与232地接在一起,232的另一端是USB。不知道描述的对不对,我觉得应该不是硬件的问题,您觉得问题还可能出在哪儿?
 电路参考芯片的PDF文档画的话一般是不会错的,我觉的要把容易排除的问题先给排除掉,如:单片机串口发送程序是否正确,可以想办法验证程序的正确性。还有就是波特率设置,校验位,停止位,数据位等串口参数与你的电脑上设置是否一致,这个仔细检查一下就可以排除。如果以上都确认正确,那么就可以考虑硬件问题了,MAX232输出直接接电脑串口试试,看看输出对不对?再不行直接看单片机TTL信号输出对不对(看TTL信号需要一根TTL转232的数据线),这样分部检查,总之要确认问题出在哪里才能知道怎么做。
采纳数:1 获赞数:1 LV2

很有可能是波特率没设对,比如9600,你改成4800,或者改高一些试试

波特率PC机和AVR设成一样的就行吧,您是说同时改低一些或者同时改高一些么?
}

我要回帖

更多关于 单片机串口接收发送数据 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信