- 博客(7)
- 收藏
- 关注
原创 使用豆包AI解析NEMA0183 $GNGGA
你可以根据实际需求进一步扩展和完善代码功能,例如添加对其他类型 NMEA 语句的解析、将解析结果通过显示屏展示或者进行更复杂的导航相关运算等。首先开启了 USART1 和对应 GPIO(PA9 用于发送,PA10 用于接收)的时钟,然后分别配置了这两个引脚的模式(PA9 为复用推挽输出,PA10 为浮空输入),接着设置了 USART1 的通信参数,包括波特率为 9600、8 位数据位、1 位停止位、无校验位以及无硬件流控制,并且设置为接收和发送模式(),这样当有数据通过串口接收引脚到达时,就会触发中断。
2024-12-07 16:58:56
1628
转载 SBUS协议
S-BUS其实是一种串口通信协议,采用100000的波特率,数据位点8bits,停止位点2bits,偶效验。SBUS是一个接收机串行总线输出,通过这根总线,可以获得遥控器上所有通道的数据。SBUS一个通道是11位二进制!
2024-11-27 17:19:38
139
原创 解析MR72 毫米波雷达扇区协议数据包
usart1接收MR72发来的数据包,Uart4把解析好的数据发送给串口小助手。首先定义一个数组,将接收到的数据包放在“Serial_RxPacket[MR72_Datalen] ”里。答案是需要的,我第一次校验时没加上“4D”就导致每次校验得出的数据不对,加入“4D”,校验正确。由于MR72数据包使用CRC8校验,为提高代码可读性及复用性,需对CRC8校验代码进行封装。Tips:如果要使用Uart4 RX引脚,需开启AFIO时钟。进行CRC8校验时,需不需要把“4D”算进去?仅输出探测范围内的扇区。
2024-11-27 15:44:01
828
原创 我将STM32F103工程转变为STM32F105工程遇到的问题及解决过程
前端时间我把随便找了一个F105工程,然后点灯,使LED 500ms闪烁一次,发现闪烁一次的时间明显大于1s。现在我终于明白我这块板子上STM32F105R8T6接的是8M晶振,需在“STM32F10x.h”中把"25000000"改为“8000000”。在转换的过程中,我了解到了“STM32F10x.h”这个文件中默认STM32F105接25M的晶振。把工程改完之后,开始点灯,上述猜想正确,LED闪烁时间明显缩短。跟着攻略操作完之后,再次打开Keil5,未发现闪退问题。,问题解决,下载成功。
2024-11-15 13:36:52
401
转载 PMS5003驱动
PMS5003是一款基于激光散射原理的通用颗粒物浓度传感器,可测量PM1.0、PM2.5、PM10的值,数据通过。串口直接输出,使用时只需根据传输协议将数据解码即可。下面是基于STM32的程序。
2024-02-27 21:33:56
240
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人