本文由RT-Thread论坛用户123原创发布:https://club.rt-thread.org/ask/article/2894.html
RTT串口V1版本的使用分析及问题排查指南(一)
简述
无论是刚接触 RT-Thread 的新手,还是经验老道的大牛们,他们使用 RT-Thread 的时候,使用最频繁最广泛的外设,想必也非串口设备莫属。
回想大家在移植一个新的BSP或者芯片时,如何验证是否移植成功呢?是的,msh控制台窗口走一波 RTT 的 logo 信息,输出成功了就基本代表移植成功了。如下所示:
\ | /
- RT - Thread Operating System
/ | \ 4.0.4 build Dec 32 2021
2006 - 2021 Copyright by rt-thread team
msh >
例如 finsh 组件,以命令行的方式实现人机交互的功能,在项目开发调试中有着举足轻重的作用,也是开发者们使用最为频繁的组件。
又例如 ULOG组件,AT组件,ymodem组件,RT_Link组件等,其底层数据流都有串口的踪迹。因此,作为使用最频繁,覆盖面最广泛的串口设备,如果把它搞懂,那将会在你的项目开发中如虎添翼,或对嵌入式系统也会有更深刻的理解。
既然串口设备如此重要,受众人群又如此之多,使用范围如此之广,那么有必要去理一理串口框架,汇总一下问题所在,为广大开发者们指一下解决问题的方向。这也是这篇文章的主要工作。
本文会先结合STM32为平台,以串口V1版本做分析说明 (第一部分),并总结遇到串口方面的问题该如何解决的方法(第二部分)。
(在此需要解释一下,串口V1版本
这个名字非官方冠名,是本人为了区分串口V2版本
而临时起的名字,当然后续会有串口V2版本的介绍说明,马不停蹄更新中)