HC32F460 串口两个DMA的问题?
本帖最后由 长江一道浪 于 2024-3-20 15:15 编辑两个问题:
1.我按照官方的3.2.0的例程进行移植,单个串口的DMA传输已完成,其中串口1的接收DMA传输完成中断,我使用调试模式从来没进入过这个中断函数,我将该中断函数的里面代码,不影响正常功能。
2.我使用串口2,将关于串口2的DMA初始化后,会造成DMA传输通道计数会累计一直增加,不会正常的计数,现在不知道怎么办。
串口1接收DMA1通道0,串口2接收DMA1通道1
串口1发送DMA2通道0,串口2发送DMA2通道1
串口2的接收和发送使用了同一个DMA单元的同一个通道? wubangmi 发表于 2024-3-20 14:46
串口2的接收和发送使用了同一个DMA单元的同一个通道?
写错了,代码里面不是一个单元。 那应该是不是中断设置的问题? 使用调试模式从来没进入过这个中断函数?那中断的设置问题吧 我也遇到这个问题了 单独使用一个正常?用两个DMA就出问题了? 如果只开接收得DMA试试呢。 LOVEEVER 发表于 2024-3-27 12:25
使用调试模式从来没进入过这个中断函数?那中断的设置问题吧
我用官方的代码,也不会进入DMA接收传输完成中断函数。 digit0 发表于 2024-4-25 18:11
单独使用一个正常?用两个DMA就出问题了?
将两个串口应用在不同的MDA单元中就能解决了。 看你这个配置多半和DMA的搭配有关系,同一串口最好使用同一个DMA 使用同dma的不同通道,在大约35us的使用间隔下,同dma的不同通道,某一通道就不能再次传输有人碰到过吗?
页:
[1]