作者:心胸宽大的榛子lcf | 来源:互联网 | 2023-10-12 15:54
最近在搞PM2.5检测。用的是PMS7003传感器。BUT,之前没有接触过。需要一步一步的来。先测试其串口是否通信。上一篇文章,讲了UART回环测试,不是目的。主要是为了今天的测试。一、首
最近在搞 PM2.5 检测。用的是 PMS7003 传感器。BUT,之前没有接触过。需要一步一步的来。先测试其串口是否通信。上一篇文章,讲了 UART 回环测试,不是目的。主要是为了今天的测试。
一、首先看一下 PMS7003 的接口定义
下载:PMS7003颗粒物传感器中文说明书 V2.2
二、485接口电路图
232通信手册里将的很明白了。然后因为需要跟 DM368 部分接485通信。所以需要 max3485芯片。
电路图部分,参看:485通信自动收发电路 历史上最详细的解释
当单片机要发送数据的时候,控制CTRL为高电平,数据通过TXD发送出去。
当单片机要接收数据的时候,控制CTRL为低电平,数据通过RXD接收回来。
自动收发电路,就是不用单片机引脚CTRL,当数据进来的时候,数据会自动通过RXD到单片机,当需要发送数据时,自动通过TXD发送出去。也就是只需要连接单片机的RXD和TXD引脚就可以,无需用单片机引脚连接485芯片的DE RE引脚。
三、UART 测试
用 232/485转换器和USB转串口数据线,将其和电脑相连。
因为 PMS7003 传感器只要上电就会发送数据。 所以将串口调试工具配置好端口号,选择十六进制显示。即可看到相关的数据输出。
现在证明了串口是通的,然后传感器是好的。接下来就是看传感器说明书,然后怎么在单片机和Linux下写测试代码
然后之前写过一篇关于 485 串口编程的文章,可供参考。
参看:UNIX再学习 -- RS485 串口编程
这里需要注意的是:
Pin2 - RE#:接收器输出使能 (低电平有效)
Pin3 - DE: 驱动器输出使能 (高电平有效)
是输入还是输出,配置高电平还是低电平,你一定要确认好哦。
再有就是485的NP引脚要接对哦,不然收到的数据是不对的。
(如果实在搞懵逼了,就把NP翻过来接试一下)