Microchip
直播中

李滢芝

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

中断不适用于XC32

大家好,我把FW从PIC24F传送到PIC32 MX570F512L,但是当通过UART2发送一个字节时,没有中断。main.c的简单代码如下:ReadTask()是用UART接收的数据进行处理的一个函数。我观察到引脚49(RF4)上的信号存在,外围时钟是Fosc/2=4MHz……但是没有发生中断。您建议做什么?谢谢你的支持

回帖(12)

丁亚念

2019-9-10 14:01:15
您是否检查过是否需要将任何模拟引脚切换到数字模式?
举报

陈俊

2019-9-10 14:13:02
从数据表看来,外围引脚选择仅仅是数字的。事实上,寄存器ANSELF没有用于UART通信的ANSF04和ANSF05。无论如何,即使我清除了ANSELF寄存器,中断也不工作。
举报

唐红菊

2019-9-10 14:32:49
你是否在中断控制器中优先考虑中断?默认情况下,所有中断的优先级都是0,这意味着它们永远不会触发。一个小的设计问题:如果您的接收处理程序函数指针是NULL,则中断标志将保持设置,ISR将只是在循环中触发。
举报

陈俊

2019-9-10 14:46:06
我注意到U2STA的乌克兰人被清除了。这个位应该在设置U2MODE的ON位之后设置。在我的例子中,U2MODEbits.ON=1和U2STAbits.URXEN=0;所以我设置URXEN位,并且每次在UART2上接收到字节时都设置中断标志。但是这次FW执行在中断例程中不会停止(我放置断点)。中断定义的SunCube可能不正确吗?这个定义是正确的吗?ValueAyAtditTyx((中断(IPL4SUM)))u2RX中断(无效){//List}命令}
举报

更多回帖

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