打印

GD32F130 串口问题

[复制链接]
1933|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xukang123|  楼主 | 2018-11-13 18:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,最近在使用GD32F130单片机遇到一个问题与一个难点
第一个问题是   我使用串口并开启了流控位,在使用串口助手对单片机发送数据的时候(串口助手我也开启了流控位RTS CTS),单片机很及时的给出了流控位(收到停止位就给出了流控位),但是串口助手始终会在流控位给出后继续发送一个字节才会停止,我尝试过停止位设置为2位还是不行,由于多发一个字节出来,这个时候我没有缓存接收,因此会丢掉一个字节。
遇到的一个难点是,因为我串口需要有大数据流的发送,因此我使用DMA来进行接收,但是出现一个问题,当我DMA设置的传输次数完毕,则会进入dma中断,然后我需要等待这个数据被使用了,才继续接收串口数据,然后出现的问题就是,如果进入DMA中断后,不立即开启DMA以允许继续接收数据的话,会造成单片机的串口接收寄存器为空,RTS自动设置为低,这样串口就会接收一个字节,但是这个时候dma并没有开启,则没法接收数据,等待我之后开启DMA,开启后,这个数据也并不会自动传输,因此没法接收这个数据。

相关帖子

沙发
cainiao518| | 2018-11-13 18:30 | 只看该作者
不用流控行不?

使用特权

评论回复
板凳
cainiao518| | 2018-11-13 18:30 | 只看该作者
不用流控行不?

使用特权

评论回复
地板
xukang123|  楼主 | 2018-11-13 18:36 | 只看该作者

不行,我一定需要流控,因为我串口助手会发送大量数据,比如20M,那么我必须使用流控位,来限制

使用特权

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

本版积分规则

1

主题

4

帖子

0

粉丝