Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
UART
关于官网上《串口设备应用笔记》串口问题
发布于 2018-11-06 16:46:56 浏览:3020
订阅该版
硬件板子为安富莱STM32F429的板子,默认uart1用作打印,打印功能正常,将uart2用作测试,uart2连接电脑串口小助手上,用的BSP为STM32F4xx_hal,将官网手册的app_uart.c源码假如工程中,运行后问题如下: 1.发送问题  通过uart_putchar函数最终会调用串口驱动的如下函数:  通过单步调试,程序可以执行 uart->UartHandle.Instance->DR = c;但是执行完电脑上并没有接收到数据,并且uart2寄存器也没有数据。 我把程序中uart1和uart2功能换位置,更改了如下代码: rtconfig.h中由#define RT_CONSOLE_DEVICE_NAME "uart1"改成#define RT_CONSOLE_DEVICE_NAME "uart2" app_uart.c中由uart_open("uart2") != RT_EOK改成了uart_open("uart1") != RT_EOK 是否还需要其他地方改动? 改动完之后,发现两个串口都没有数据输出,但都可以接收数据(上位机发数据都能进入中断)。 是不是还有其他地方需要改动的?求指教 2.接收问题  根据流程图,有点没弄明白,为什么发送事件标志后,会去执行rt_device_read函数?
查看更多
5
个回答
默认排序
按发布时间排序
misonyo
2018-11-07
这家伙很懒,什么也没写!
使用list_device命令看看是否2个串口设备都有的。不懂事件的话建议先学习一下内核基础知识。 红框里面如果没有读到数据,那么就会等待一个事件,这个时候线程已经挂起,当串口接收到数据的时候,接收中断里面会发送这个事件,这个时候挂起的线程就会被激活,然后继续读数据,这个时候已经有数据了,就会帆帆读取到的数据。
yangjie
认证专家
2018-11-07
hello
1、关于uart的sample可以看看这个(可以使用env下载外设示例):uart_sample.c ,[https://github.com/RT-Thread-packages/peripheral-sample](https://github.com/RT-Thread-packages/peripheral-sample) 2、线程由于接收不到事件而挂起,当其他线程或者中断发送事件的时候,通过参数 set 指定的事件标志来设定 event 事件集对象的事件标志值,然后遍历等待在event事件集对象上的等待线程链表,判断是否有线程的事件激活要求与当前 event对象事件标志值匹配,如果有,则唤醒该线程。
fengshao1370
2018-11-07
这家伙很懒,什么也没写!
>使用list_device命令看看是否2个串口设备都有的。不懂事件的话建议先学习一下内核基础知识。 > >红框里面如果 ... --- 有2个设备的,今天我又测试了下,发现开发板有一个TX的电阻没有焊,弄过之后调通了。另外,关于事件问题,我原来是看的指南,里面有历程如下: [attach]6782[/attach] 按照这个历程就比较容易理解,因为当发送事件后,执行的函数为rt_event_recv()函数,这样返回RT_EOK,会继续执行if函数,这个和下图不一样 [attach]6783[/attach] 这个执行完rt_event_recv()函数后,为什么会又返回去执行rt_device_read()函数,按理说执行完就完了吧,我是这样理解的。请指教一下
misonyo
2018-11-08
这家伙很懒,什么也没写!
>有2个设备的,今天我又测试了下,发现开发板有一个TX的电阻没有焊,弄过之后调通了。另外,关于事件问题 ... --- rt_event_recv()函数返回后是不是还要判断while循环的条件??因为还没有退出循环呀
fengshao1370
2018-11-08
这家伙很懒,什么也没写!
>rt_event_recv()函数返回后是不是还要判断while循环的条件??因为还没有退出循环呀 ... --- 貌似是啊,基础没打牢啊:L,多谢多谢
撰写答案
登录
注册新账号
关注者
0
被浏览
3k
关于作者
fengshao1370
这家伙很懒,什么也没写!
提问
4
回答
10
被采纳
0
关注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
求助can通讯下怎末运用485
2
STM32F407ZGT适配串口V2驱动
3
【CFP】2025 RT-Thread全球技术大会演讲征集开始啦!
4
在 RT-Thread Studio 环境中为 ART-Pi 2 移植 CherryUSB(以 usb_device 为例)
5
嵌入式ARM RISCV toolchain工具 梳理arm-none-eabi-gcc
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
cubemx
ESP8266
WIZnet_W5500
UART
ota在线升级
BSP
PWM
flash
packages_软件包
freemodbus
潘多拉开发板_Pandora
ADC
GD32
定时器
flashDB
编译报错
keil_MDK
socket
中断
rt_mq_消息队列_msg_queue
Debug
ulog
SFUD
msh
C++_cpp
at_device
本月问答贡献
聚散无由
9
个答案
6
次被采纳
RTT_逍遥
8
个答案
2
次被采纳
a1012112796
5
个答案
2
次被采纳
三世执戟
4
个答案
2
次被采纳
加缪
2
个答案
2
次被采纳
本月文章贡献
wake_mirco
2
篇文章
7
次点赞
mushroom
1
篇文章
9
次点赞
张世争
1
篇文章
7
次点赞
RTT_逍遥
1
篇文章
5
次点赞
Jack_____
1
篇文章
5
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部