打印

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

[复制链接]
866|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zwa|  楼主 | 2021-4-27 16:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zwa 于 2021-4-27 16:26 编辑

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

捕获.PNG (44.55 KB )

捕获.PNG

捕.PNG (42.42 KB )

捕.PNG

使用特权

评论回复
沙发
zwa|  楼主 | 2021-4-27 16:27 | 只看该作者
想用串口接收字符串,应该怎么接收,那个usart_data_receive函数一次只能接收一个字符呀

使用特权

评论回复
板凳
ifxz0123| | 2021-4-27 18:23 | 只看该作者
zwa 发表于 2021-4-27 16:27
想用串口接收字符串,应该怎么接收,那个usart_data_receive函数一次只能接收一个字符呀 ...

DMA呀,或利用RX的IDLE中断

使用特权

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

zwa

4

主题

7

帖子

0

粉丝