打印
[HMI/GUI]

请教N9H20串口收发问题

[复制链接]
375|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pobomud|  楼主 | 2023-5-22 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近做触摸屏项目,用到N9H20K31N,硬件使用了低速串口1来通讯,按官方例程,目前发现每次只能接收不超过16字节,超出会出现漏码,还有种情况,刚好16字节的话,有时候会出现第一个字节改变为第16字节,查询手册高速口有64字节FIFO,低速口为16字节FIFO。怎么保证稳定接收大量字节呢?可以关闭FIFO自己使用传统的接收方式吗?
由于串口的FIFO隔着一层,没找到怎么控制FIFO的方法,于是我又配置了EDMA,本想使用EDMA接收串口1数据,目前倒是能接收,但又有一个问题,EDMA只能空,1/4,1/2,3/4,满中断,不发生IRQ中断,指定的内存里面找不到数据,怎么实现任意字节的接收呢?

使用特权

评论回复
沙发
Annie556| | 2023-5-24 11:14 | 只看该作者
将FIFO缓冲区大小增加到64字节,可以接收更多的数据而不会出现漏码

使用特权

评论回复
板凳
B1lanche| | 2023-5-24 12:20 | 只看该作者
当FIFO缓冲区满时,会产生一个中断,可以利用这个中断来处理接收到的数据

使用特权

评论回复
地板
Charlotte夏| | 2023-5-24 13:25 | 只看该作者
可以关闭FIFO用传统方式,但是会占用较多的CPU资源

使用特权

评论回复
5
Carina卡| | 2023-5-24 14:29 | 只看该作者
那你配置成高速的端口呗

使用特权

评论回复
6
Allison8859| | 2023-5-24 16:27 | 只看该作者
试试优化数据传输算法,提高数据的传输效率和稳定性

使用特权

评论回复
7
Emily999| | 2023-5-24 17:36 | 只看该作者
还真没遇到过高速和低速的这种问题呢,有点意思

使用特权

评论回复
8
Belle1257| | 2023-5-25 07:02 | 只看该作者
要不你用软件定时器来实现任意字节的接收?

使用特权

评论回复
9
alxd| | 2023-5-25 08:17 | 只看该作者
EDMA要注意在使用周期传输模式时,需要设置相应的寄存器来实现数据的自动重复传输

使用特权

评论回复
10
Candic12e| | 2023-5-25 10:26 | 只看该作者
检查一下通道参数设置吧

使用特权

评论回复
11
Betty1299| | 2023-5-25 11:54 | 只看该作者
你得在EDMA通道的参数配置中指定正确的内存地址才行的

使用特权

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

本版积分规则

2

主题

2

帖子

0

粉丝