Microchip
直播中

孙宇

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

微芯片代码配置工具中错误怎么找到

在为我的项目设置IOC(使用MCC)时,我注意到了这一点,所以我继续创建了一个新示例项目,只启用了IOC中断,并且看到了生成的相同代码。处理器=PIC16LF1705,MCC版本=3.16。当我设置这个项目时,我所做的就是打开MCC,选择中断模块,启用IOC,转到Pin模块,设置RA2作为输入,然后在寄存器设置中将IOCAN2设置为“启用”。然后,我生成了代码。下面是我看到的生成了奇怪的代码。a)inter._manager.c-INTERRUPT_Inter.Manager():if(INTCONbits.IOCIE==1&&INTCONbits.IOCIF==1){PIN_MANAGER_IOC();//clearglobalinter.-on-change flag INTCONbits.IOCIF=0;}其他...COM.:IOCIF:IOCIF位是只读的。MCU将清除此位时,只有所有的个人PIN标志是明确的。此写操作不会做任何事.b)pin_manager.c-PIN_MANAGER_PIN_MANAGER_IOC()//中断,对于组IOCAFif(IOCAF比特.IOCAF比特.IOCAF2 IOCAF2==1){IOCACAF2==1){IOCAF2_ISR({IOCACACACAF2=1){IOCACAF2_ISR({IOCAF2_IOCAF2.{IOCAF2_ISR(){IOCACACAF2.{IOCACAF2_ISR({IOCACAF2.{IOCAF2_ISR(){IOCACACACAF2.{IOCAF2.{IOCASR();}…注释:唯一的有效条件是第一个条件,即“F”(FLAG)的测试。测试IOCxN和IOCxP寄存器没有任何意义——这些是设置寄存器,用于配置中断应该在负边缘还是正边缘.c)pin_manager.c-IOCAN2_ISR()、IOCAN2_Setinter.Handler()、IOCAN2_DefaultInter.Handler()、IOCAP2_ISR()、IOCAP2_SetInt上激活。ErrUpthDANDLE()、IOCAP2DeFultCuffthTyle()注释:这些函数没有意义(与上面的项(B)相关)。中断不是由IOXN和IOCXP安装寄存器生成的。

回帖(1)

张丽

2020-4-26 13:56:38
微芯片代码配置工具中的这种错误确实让我很烦恼。要知道如何查找它,就需要关于PIC16LF1705中断改变硬件实际如何工作的如此复杂的知识,以至于使用MCC来生成代码比其价值更麻烦。许多其他MCC代码生成模型存在缺陷?
举报

更多回帖

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