Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
UART
【应用笔记】小白也能玩转RT-Thread之串口设备【官方出品】
发布于 2018-02-06 14:09:46 浏览:8545
订阅该版
本应用笔记描述了如何使用RT-Thread的串口设备,包括串口配置、设备操作接口的应用。并给出了在正点原子STM32F4探索者开发板上验证的代码示例。 **1 本文的目的和结构** [hr]**1.1 本文的目的和背景** 串口(通用异步收发器,常写作UART、uart)是最为广泛使用的通信接口之一。在裸机平台或者是没有设备管理框架的RTOS平台上,我们通常只需要根据官方手册编写串口硬件初始化代码即可。引入了带设备管理框架的实时操作系统RT-Thread后,串口的使用则与裸机或者其它RTOS有很大的不同之处。RT-Thread中自带I/O设备管理层,将各种各样的硬件设备封装成具有统一接口的逻辑设备,方便管理及使用。本文说明了如何在RT-Thread中使用串口。 **1.2 本文的结构** 本文首先给出使用RT-Thread的设备操作接口开发串口收、发数据程序的示例代码,并在正点原子STM32F4探索者开发板上验证。接着分析了示例代码的实现,最后深入地描述了RT-Thread设备管理框架与串口的联系。 **2 问题阐述**[hr]RT-Thread提供了一套简单的I/O设备管理框架,它把I/O设备分成了三层进行处理:应用层、I/O设备管理层、硬件驱动层。应用程序通过RT-Thread的设备操作接口获得正确的设备驱动,然后通过这个设备驱动与底层I/O硬件设备进行数据(或控制)交互。RT-Thread提供给上层应用的是一个抽象的设备操作接口,给下层设备提供的是底层驱动框架。 [align=center]![微信图片_20180206141012.png](/uploads/201802/06/141045kn6tifnxpnonx07p.png)[align=center]图A.1 RT-Thread设备管理框架 那么用户如何使用设备操作接口开发出跨平台的串口应用代码呢? **3 问题的解决**[hr]本文基于正点原子STM32F4探索者开发板,给出了串口的配置流程和应用代码示例。由于RT-Thread设备操作接口的通用性,因此这些代码与硬件平台无关,读者可以直接将它用在自己使用的硬件平台上。 正点原子STM32F4探索者开发板使用的是STM32F407ZET6,具有多路串口。我们使用串口1作为shell终端,串口2作为实验用串口,测试数据收发。终端软件使用putty。板载串口1带有USB转串口芯片,因此使用USB 线连接串口1和PC即可;串口2则需要使用USB转串口模块连接到PC。 ![AN0001 RT-Thread串口应用指南.pdf](/uploads/201802/06/141453r6622jzyqwdjqyy8.attach) ![uart soft demo.rar](/uploads/201802/09/151309rqpqpevr3szrqpqq.rar)
查看更多
8
个回答
默认排序
按发布时间排序
hsuda876
2018-02-07
这家伙很懒,什么也没写!
讲讲dma接收与发送的原理与参考代码呀:lol
tanek
2018-02-08
这家伙很懒,什么也没写!
>讲讲dma接收与发送的原理与参考代码呀 --- DMA部分属于底层了。 这份AN的目的是解释上层API的使用。
aloiter
2018-02-27
这家伙很懒,什么也没写!
支持,多发布些应用笔记,毕竟RTOS是拿来用的,稳定又能简单上手,推广更有效啊。 感觉ST用的就是这个策略。
我算没治了
2018-05-04
这家伙很懒,什么也没写!
我遇到一个问题,我将app_uart添加到工程里,编译下载后,putty和secureCRT都没显示,倒是串口调试助手XCOM出现了2018 Hello RT-Thread!请问这是怎么回事
我算没治了
2018-05-07
这家伙很懒,什么也没写!
为什么BSP是stm32f4xx-HAL,stm32f40x不行吗
leiad
2018-07-25
这家伙很懒,什么也没写!
应该多一些AN文档,API的说明对于推广也很重要
zhenyu
2018-08-17
这家伙很懒,什么也没写!
用 这个例程好像只能开一个串口,我要开多个串口能行吗?
iseariver
2019-10-20
这家伙很懒,什么也没写!
>用 这个例程好像只能开一个串口,我要开多个串口能行吗? --- 同问!
撰写答案
登录
注册新账号
关注者
1
被浏览
8.5k
关于作者
andychen
这家伙很懒,什么也没写!
提问
38
回答
187
被采纳
15
关注TA
发私信
相关问题
1
rt thread 2.0.2 usart 接收缓存问题
2
关于STM32串口通信的问题
3
STM32F1+RTT串口接收终端数据丢失问题
4
UART TX丢数据?
5
RTT打开串口的时候如何自定义波特率呢?
6
STM32F4的USART数据接收问题
7
串口1234使用问题
8
串口接收回调函数
9
LPC18xx UART问题讨论
10
x1000串口配置的失败问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
CherryUSB的bootuf2配置
2
在用clangd开发RTT吗,快来试试如何简单获得清晰干净的工作区
3
GD32F450 片内 flash驱动适配
4
STM32H7R7运行CherryUSB
5
RT-Smart首次线下培训,锁定2024 RT-Thread开发者大会!
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
6
次点赞
YZRD
2
篇文章
5
次点赞
lizimu
2
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部