为什么单片机不能接受到传感器发出的信息?

来源:百度知道 编辑:UC知道 时间:2024/07/07 17:08:32
昨天调试单片机,传感器在电脑上通过串口助手,发出和返回信息都正常,单片机用的是at89s52并通过两个cd4051扩展成8个串口。我试了个程序,通过一个电脑上的com1口发出一个指令,在通过串口助手手动返回一个字符串,单片机中接受字符串并保存,再通过控制cd4051切换串口,发送给电脑的com2口,通过串口助手可以看到信息,以上过程是正常的。然后我把com1从单片机上拔下来了,换上了传感器,传感器工作时也是发送一条字符串命令,返回相应的字符串,但是这次没有输出了。
问题应该在接受传感器数据上,之后我又试了一下把发送代码全注释掉,只接收传感器返回数据,然后发到电脑,没有成功。这是为什么?为什么单片机能同电脑通信,传感器能同电脑通信,波特率一样,但是单片机就不能接到传感器的数据呢?哪位大哥帮帮忙啊
传感器已经共地了,今天用示波器测试了一下,发现在没接传感器是单片机发出的是正常的矩波,接上后,单片机发出的是不稳定的波形,只有最高点电压一样,所以应该不是电压匹配的问题,可能是传感器电路影响到了单片机,这怎么处理,传感器和单片机之间能否接一个装置使他们不互相影响?
今天问题解决了,好低级的错误,传感器能和电脑通信,单片机能和电脑通信当然单片机不能喝传感器通信啦,因为电脑txd接外部设备的rxd,rxd接外设的txd,所以外设的rxd和txd都是相同的,两个外设直接相连当然是,txd接txd,rxd接rxd这指定不能接到数据,不过还是辛苦了

描述的不是很清晰,不过我估计应该是串口电压被拉低了,你可以在串口的接收端和发送端分别加上一个上拉电阻试试。

有电压匹配的关系,高低电平是否一致,或者有没有共地?