找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

请问M467的PDMA,有没有检测出错的方法?

[复制链接]
匿名  发表于 2024-1-24 11:39:06 |阅读模式
请问M467的PDMA,有没有检测出错的方法?
回复

使用道具

匿名  发表于 2024-1-24 14:31:08
请问在PDMA0-IRQ中,PDMA0_IRQHandler里面,需要不需要进行     NVIC_ClearPendingIRQ(PDMA0_IRQn); 的操作?
回复 支持 反对

使用道具

chrishu 发表于 2024-1-25 09:55:20 | 显示全部楼层
游客 121.29.98.x 发表于 2024-1-24 14:31
请问在PDMA0-IRQ中,PDMA0_IRQHandler里面,需要不需要进行     NVIC_ClearPendingIRQ(PDMA0_IRQn); 的操作 ...

PDMA有目标中止错误中断、传输超时中断。
你要在中断里清除中断挂起的目的是什么?
回复 支持 反对

使用道具 举报

匿名  发表于 2024-1-25 10:02:50
chrishu 发表于 2024-1-25 09:55
PDMA有目标中止错误中断、传输超时中断。
你要在中断里清除中断挂起的目的是什么? ...

我就是想了解一下 错误中断 发生之后的处理机制。

比如一个设备通过UART连接到MCU,可能存在上电不统一的情况。

会不会把PDMA缓存的数组越界憋死或者传输超时不及时处理的情况发生。
回复 支持 反对

使用道具

chrishu 发表于 2024-1-29 11:17:05 | 显示全部楼层
游客 121.29.98.x 发表于 2024-1-25 10:02
我就是想了解一下 错误中断 发生之后的处理机制。

比如一个设备通过UART连接到MCU,可能存在上电不统一的 ...

你是用PDMA接收还是发送UART数据。还是说接收和发送都用PDMA
以PDMA基本模式为例
发送:一旦uart 的TX  FIFO没有满,就会触发PDMA根据设定将内存的数据搬运到UART TX FIFO里。按照设定个数搬运完就会停止。
接收:一旦UART接收到数据,就会触发PDMA将接收到的数搬运到内存中,搬运指定长度后停止。如果已经开始搬运了(部分数据)后,超时还没有搬运完指定个数的数据,会产生超时中断。可以在超时中断里添加自己想要的处理,比如记录已经搬运的数据个数、停止PDMA不再搬运、或者只清除中断标志继续等待搬运结束。
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU