GNULinux 发表于 2010-4-12 17:51:32

《深入浅出 AVR单片机——从ATMega48/88/168开始》串口通信问题

硬件连接经测试无误,用CD中带的上位机无法建立通信,使用过实例16_24C01的读写和实例15_数字电压表中的程序,总是显示串口通信失败,何故?望指教!!!

Gorgon_Meducer 发表于 2010-4-12 20:44:31

首先检查电脑串口是否工作正常,方法,短接TXD和RXD,然后用串口大事发送数据,看看
能不能接受到发送出去的数据。
CD中的代码和工程都是严格测试过的。请着重检查硬件和通讯连接。

GNULinux 发表于 2010-4-12 22:47:09

这方法我试过,在202之前是好的,短接后能连接成功,可是一过202就连接失败。我用的使TI公司的TRS202,是兼容产品。谢谢大哥赐教,望继续。

Gorgon_Meducer 发表于 2010-4-13 09:43:04

那就用MAX232看看……或者你应该检查下MAX202的数据手册,检查联结方式。

GNULinux 发表于 2010-4-13 13:35:16

现在搞好了,不过有点小BUG,就是实例15电压表中的上位机,明明电压和接收数据都正常显示了,串口检测却老是失败,诡异....

如图:

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_546033.JPG
数据接收正常 (原文件名:显示.JPG)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_546034.JPG
串口却老是检测不到 (原文件名:BUG.JPG)

Gorgon_Meducer 发表于 2010-4-13 13:37:17

检查波特率

GNULinux 发表于 2010-4-13 13:52:22

能具体说说吗??我不知道你要我怎么检查...或者说干什么??

GNULinux 发表于 2010-4-13 13:54:27

我就是把光盘里的hex直接下载进去的。

Gorgon_Meducer 发表于 2010-4-13 14:01:09

刚才认真看了你的问题,所谓串口检测不到,其实是你的串口已经打开了,因为你已经能看到数据了。
VB不能简单的重复打开一个串口。

GNULinux 发表于 2010-4-13 18:38:59

哦,多谢大哥!!

GNULinux 发表于 2010-4-16 16:00:07

我感觉不是这么回事,我把电脑重启后就打开上位机,但事实上依然检测不到串口,接收数据正常,还有个问题,只要打开显示数据,CPU占有率暴涨到100%,然后机器卡死!!这两个问题我在几台机器上试验都存在!!请大哥明察!!

Gorgon_Meducer 发表于 2010-4-16 17:44:30

自己看VB源代码

GNULinux 发表于 2010-4-16 21:02:29

光盘里没有源代码呀

NE5532 发表于 2010-4-17 21:43:19

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_547126.jpg
(原文件名:QQ截图未命名.jpg)

这里面就是VB的源代码,建议你找个示波器看下单片机串口的输出。

GNULinux 发表于 2010-4-18 18:20:16

好的,多谢提醒!!我之前不懂VB,所以不认识源码格式。
页: [1]
查看完整版本: 《深入浅出 AVR单片机——从ATMega48/88/168开始》串口通信问题