搜索

GD32串口怎么接收字符串呢?下图接收字符串怎么报错了

[复制链接]
129|4
 楼主 | 2021-4-27 16:23 | 显示全部楼层 |阅读模式
本帖最后由 zwa 于 2021-4-27 16:26 编辑

串口显示乱码,应该怎么解决

捕获.PNG
捕.PNG

使用特权

评论回复
 楼主 | 2021-4-27 16:27 | 显示全部楼层
想用串口接收字符串,应该怎么接收,那个usart_data_receive函数一次只能接收一个字符呀

使用特权

评论回复
| 2021-4-27 18:23 | 显示全部楼层
zwa 发表于 2021-4-27 16:27
想用串口接收字符串,应该怎么接收,那个usart_data_receive函数一次只能接收一个字符呀 ...

DMA呀,或利用RX的IDLE中断

使用特权

评论回复

评论

zwa 2021-4-28 09:02 回复TA
怎么用中断呢 
| 2021-4-29 14:26 | 显示全部楼层
一般串口都用中断或者DMA,简单用也可以用查询等待方式。
中断:RX中断一般是RX数据可用中断,在中断函数查询接受中断标志,然后读取数据寄存器即可。TX中断一般用两个,一个寄存器空中断和一个发送完成中断,当寄存器空中断来了,就往数据寄存器填数据就行,一般发送任务完成后,就把寄存器空中断关闭。中断方式一般都会和FIFO一起使用。
DMA:通过设置DMA,把接收的数据经DMA传送到内存块或者特殊寄存器里面。
查询等待:就是用while循环死等标志位,然后读取或者发送数据。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表