Microchip
直播中

梁峰

8年用户 353经验值
私信 关注
[问答]

怎么从XC16移植到XC32?

嗨,所有的,除了我已经被移植的东西,此刻我都被打断了。XC32 C用户手册中提到了ISR的某些定义,其属性应该用Y-中断中断QualaExiger--分段2.5.10中断功能。第11章。中断和PDF的其余部分,其中提到中断,继续使用γ属性。亲爱的读者,我很想知道你是如何处理这个问题的,为什么会这样?

回帖(4)

葛睿洁

2020-4-13 10:15:15
谢谢Mysil,我读过了,但没有注意。谢谢你把它清理干净。我也决定坚持和我一起。
举报

黄飞高

2020-4-13 10:34:22
还要注意,尽管PIC24和PIC32都用两个编译器进行编译,但它们在内存或外围寄存器中的设置和清除位是不同的。构建寄存器。BIT=值是PIC24的原子,但不是PIC32。为了获得PIC32的原子位操作,使用SET、CLR和IV偏移。这对于可由软件和硬件更改的寄存器尤其重要,其中一个寄存器具有用于多个功能(如中断标志)的位。如果不使用CLR偏移量来清除ISR中的中断标志,那么当运行具有高优先级的中断而低优先级的中断变为挂起并且两个中断共享相同的中断标志寄存器时,将很难发现读-修改-写错误。这将导致较低的PRIO中断在这种情况下根本不运行。更高优先级的中断也可能被触发两次。/ Ruben
举报

葛睿洁

2020-4-13 10:53:29
谢谢Ruben,我明白了,我不确定这个差别,所以谢谢你把它清理干净。顺便说一下,我的设置和清除是ORN和AND位内部寄存器。
举报

黄飞高

2020-4-13 11:10:13
只要它不做一个读修改写目标寄存器。/ Ruben
举报

更多回帖

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