最后更新:2022-06-23 12:02:37 手机定位技术交流文章
硬件STM32F407,IDE使用RT-Thread Studio。
uart2字符串使用两个参数:
| 功能 | IO端口 |
|---|---|
| UART2-TX | PA2 |
| UART2-RX | PA3 |
首先让DMA接收, 然后RX缓冲器可以稍大一些.
在h中添加一个宏来启用RX_DMA。
现在板子打开了,顺便说一下,把钟源换成外部晶化。
编译UART2DMA接收测试代码。
接收事件发生后,它触发回调。 记录接收的消息的长度并发送信号的数量。 接收信件数量后,开始执行后续任务,调试接收的输出的长度和内容。
main.c
编译后,将报告错误,例如丢失的文件。
修改RTT源,添加丢失的头条。
重新配置交叉编译器包含目录,并添加以下内容:

工作空间使用路径是相对工程文件的路径(文件系统指的是磁盘的绝对路径,复制过程必须重新配置)
接收是正常的,但是当接收的帧具有较长的字节数时,打破一个帧是非常容易的。
如何解决帧断裂我指的是这个,它对于实际测量是好的:
使用RT-Thread的闲环+DMA接收和传输数据
呼叫 drv_usart.c. 注意这两个句子。
编译验证确认在上述修改后没有帧断裂.
但当接收的帧比缓冲空间大时,前面的内容被覆盖。 因此,当硬件允许时, theuart rx缓冲区可以设置更大。
测试发送了270字节的帧,当缓冲区为256字节时,只接收14字节,并覆盖上面的内容。

我没有计划自己学习RT线程,但在MCU驯化替代过程中,发现,大多数IC制造商提供非常有限的支持,可以说,近来几乎所有的仿真都用STM32作为蓝图进行,隐藏的地雷不是建议通过个人搜索解决的。此外,大多数工厂的展示都是裸体的,很少有RTOS的。因此,我想到了自家制的RT-Thread。
尝试RT-Thread Studio感觉不错,MCU的外部驱动程序不需要用户注意,还有更多的扩展组件,开发人员可以熟悉基于RT-Thread的,专注于应用的开发。它对国内的MCU的支助正在逐步改善,AT32, APM32, CH32, ES32, GD32, MM32等。虽然只支持部分模型,但目前,个人只意味着AT32F403A,它碰巧有一个芯片支持包。我希望国内的商工会抓住这个机会,改变潮流,抓紧完善生态,否则,随着价格下跌,大量人将返回STM32。望疫情早些过去,想想三年前的芯片的价格。
本文由 在线网速测试 整理编辑,转载请注明出处。