MS5611传感器
第一天做的是将MS5611,一个温度和大气压的传感器,在从源代码进行移植过程比较顺利,不过其中u2_print语句不能使用,会产生卡死,注释掉就可以了。数据传输使用的是IIC格式,这个对GPIO口没有要求,只要驱动文件写对就可以。
- ESP8266 WiFi模块
这个模块有AP模式、STA模式和STAAP混合模式,在这个项目中用的AP模式,将模块当作一个热点,笔记本可以连接到这个热点,然后可以进行通信。透传模式只能在STA模式下可以使用,所以WiFi模块通信时需要使用AT指令。
示例代码基本可以直接使用,其中有些延时和等待应答时间可以更改一下,这样会减小代码运行时间。源码中的delay(200)即延时200ms可以改为delay(20),基本没什么影响。
- RS485风速测量
使用RS485转TTL模块,然后连接到USART3。在此要注意连线,即TX与TX相连还是与RX相连,不同的模块不太一样。当运行代码出现不了预想的结果时,不仅要考虑代码的逻辑问题,也要考虑硬件的连接问题。
原本运行好好的代码突然不行了,事出有因必无妖,这时基本就是硬件的问题,大概率是接线松动了或者硬件损坏。杜邦线其实连接效果并不理想,很有可能松动,或者衰减有用信号,要多加注意。
其中出现的另一个问题是,RS485通信有两种协议,一个是ASCII码,另一个是MODBUS协议。ASCII模式比较简单但适用于单个传感器和单片机连接。MODBUS协议比较复杂但通用性较好。我们最初代码使用的MODBUS模式,但传感器默认是ASCII模式,所以未能成功。
检查模块通信问题时,可以直接将其与TTL转USB的模块连接到电脑串口助手上,这种方式最简单,最基础,也最能检查出问题所在。
- 北斗模块
使用示例代码没有问题,也并不复杂,只是读取的数据项比较多,可以进行删减。默认串口是USRAT2,可以改到UART4,只要把对应名称及串口换掉就可以了。
- 其他问题
当有点代码函数可以进入但没有执行,而其他代码可以正常执行时,可以考虑是不是定时器等抢断了代码的执,中断优先级要协调好。
10号:熟悉大致流程及模块代码
11号:将所用的6个模块全部跑通,解决了最难搞的RS485
12号:改WiFi模块,可以单独使用AP模式。WiFi同MS5611结合,可以将其数据发送到电脑上。将北斗模块的串口3改为串口2,没有问题。
13号:改北斗模块的其他部分,可以单独使用。将北斗和WiFi结合。将RS485串口2改为串口4。
14号:拼接全部模块,最开始RS485因为杜邦线连接问题不能用了。改IIC的其他IO口,其中驱动文件出了点问题。改了WiFi的延迟问题,使其可以正常使用。
待完成的知识:串口驱动组成,IIC驱动组成,定时器的作用。中断的选择。DMA的使用。WiFi模块通信代码。
MS5611传感器
第一天做的是将MS5611,一个温度和大气压的传感器,在从源代码进行移植过程比较顺利,不过其中u2_print语句不能使用,会产生卡死,注释掉就可以了。数据传输使用的是IIC格式,这个对GPIO口没有要求,只要驱动文件写对就可以。
- ESP8266 WiFi模块
这个模块有AP模式、STA模式和STAAP混合模式,在这个项目中用的AP模式,将模块当作一个热点,笔记本可以连接到这个热点,然后可以进行通信。透传模式只能在STA模式下可以使用,所以WiFi模块通信时需要使用AT指令。
示例代码基本可以直接使用,其中有些延时和等待应答时间可以更改一下,这样会减小代码运行时间。源码中的delay(200)即延时200ms可以改为delay(20),基本没什么影响。
- RS485风速测量
使用RS485转TTL模块,然后连接到USART3。在此要注意连线,即TX与TX相连还是与RX相连,不同的模块不太一样。当运行代码出现不了预想的结果时,不仅要考虑代码的逻辑问题,也要考虑硬件的连接问题。
原本运行好好的代码突然不行了,事出有因必无妖,这时基本就是硬件的问题,大概率是接线松动了或者硬件损坏。杜邦线其实连接效果并不理想,很有可能松动,或者衰减有用信号,要多加注意。
其中出现的另一个问题是,RS485通信有两种协议,一个是ASCII码,另一个是MODBUS协议。ASCII模式比较简单但适用于单个传感器和单片机连接。MODBUS协议比较复杂但通用性较好。我们最初代码使用的MODBUS模式,但传感器默认是ASCII模式,所以未能成功。
检查模块通信问题时,可以直接将其与TTL转USB的模块连接到电脑串口助手上,这种方式最简单,最基础,也最能检查出问题所在。
- 北斗模块
使用示例代码没有问题,也并不复杂,只是读取的数据项比较多,可以进行删减。默认串口是USRAT2,可以改到UART4,只要把对应名称及串口换掉就可以了。
- 其他问题
当有点代码函数可以进入但没有执行,而其他代码可以正常执行时,可以考虑是不是定时器等抢断了代码的执,中断优先级要协调好。
10号:熟悉大致流程及模块代码
11号:将所用的6个模块全部跑通,解决了最难搞的RS485
12号:改WiFi模块,可以单独使用AP模式。WiFi同MS5611结合,可以将其数据发送到电脑上。将北斗模块的串口3改为串口2,没有问题。
13号:改北斗模块的其他部分,可以单独使用。将北斗和WiFi结合。将RS485串口2改为串口4。
14号:拼接全部模块,最开始RS485因为杜邦线连接问题不能用了。改IIC的其他IO口,其中驱动文件出了点问题。改了WiFi的延迟问题,使其可以正常使用。
待完成的知识:串口驱动组成,IIC驱动组成,定时器的作用。中断的选择。DMA的使用。WiFi模块通信代码。
举报