Microchip
直播中

李燕梅

7年用户 189经验值
私信 关注
[问答]

PMP的持续中断如何清除?

大家好,当每个RW周期设置为中断时,清除PMPIF中断标志有困难。我知道中断只能通过某些操作清除的持续中断条件。在这种情况下,数据表上说,在读或写周期中要重复地读取PMDIN和PMDUT。我处于松弛的状态,试图找到其他可以保存PMPIF集的内容。我的中断处理程序如下所示,并且在开始写入时被成功调用。但是,当调用PLIB_INT_SourceFlagClear或者我向PMPIF位写入0以确认写入实际发生时,PMPIF仍然很高。当没有启用中断并且没有执行写入时,我就能够自己设置和重置PMPIF,但是只是在写入开始之后不能。设置为没有优化以确保PMDIN和PMDUT的读取不被优化。有人能解释一下吗?或者可能发布自己的工作代码?谢谢,奥斯丁

回帖(4)

于姝斐

2019-9-10 09:57:52
道歉。我显然不能编辑我的文章。
举报

于姝斐

2019-9-10 10:13:54
外围设备没有指示输入过流或输出下溢。当中断被调用时,它也不忙。还有什么可以保持PMPIF高吗?
举报

于姝斐

2019-9-10 10:22:50
嗯,我想我可能已经发现了问题。如果我在ISR中执行以下伪代码,结果如下:似乎为了正确操作,应该在所有传输完成后禁用PMP中断。但是,对于如何识别有效的PMP,我仍然感到困惑如果PMPIF不写入PMP,则总是读取PMPIF吗?例如,如果我想写,然后读,下面会发生:当然这不是预期的操作。
举报

于姝斐

2019-9-10 10:37:41
颠簸。有人能确认PMP TX/写中断应该如何处理吗?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分