RongLiu 发表了评论
你好,@Acuity认真分析了你推荐给我的你的博客,理解了你的意思,再说还用DMA半满中断的情况下,的确可以避免fifo访问冲突的问题。谢谢你的解答。
RongLiu 发表了评论
谢谢你的解答@sync fifo设置长度大于帧长,但是如果发送方数据发送很快,大于接收方应用线程处理的速度,应该还是出现会覆盖吧,你觉得呢?
RongLiu 发表了评论
谢谢@Acuity 的解答fifo顾名思义,应该是先进先出的,访问也应该是互斥的,这个赞同介绍的这篇文章很好,分析透彻,逻辑严密。至于临时关闭中断,这里这种情况,关中断,阻止不了DMA访问fifo啊,
RongLiu 发表了评论
@JQRR_7669 好的,多谢指点,总算是弄明白了。同时也要感谢@armink 私下的指点,第一次在社区提问题,谢谢你们耐心细致的解答。
RongLiu 对问题发布了答案
分析源码,应用使用DMA_RX方式读数据,调用关系为:rt_device_read——》rt_serial_read——》dma_transmit疑问1)dma_transmit: 调用底层驱动开始d
RongLiu 发表了评论
同样是这个问题,针对config.bufsz == 0的情况,一次DMA接收完成后,串口数据已经保存在调用rt_device_read()时作为参数传递过来的缓冲区中?这种模式是在读取之前就已知接收数
RongLiu 发表了评论
针对config.bufsz == 0的情况,一次DMA接收完成后,串口数据已经保存在调用rt_device_read()时作为参数传递过来的缓冲区中?这种模式是在读取之前就已知接收数据的长度?这个问
RongLiu 对问题发布了答案
同问,针对config.bufsz == 0的情况,一次DMA接收完成后,串口数据已经保存在调用rt_device_read()时作为参数传递过来的缓冲区中?这种模式是在读取之前就已知接收数据的长度?
RongLiu 采纳了的最佳答案
关于rt-thread串口DMA接收的疑问?