完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
你好,这个芯片是PIC32MZ2048EFG100如果我像这样运行代码,那么一切正常。我们对中断函数中的count变量进行递增,然后读取main中的变量。但是,如果我更改了代码,以便_u ISR函数调用另一个函数,那么一旦中断触发,代码就会完全冻结。知道我做错了什么吗?
以上来自于百度翻译 以下为原文 Hello, This chip is a PIC32MZ2048EFG100 If I run the code like this then everything works as expected. We increment the count variable in the interrupt function and read the variable in the main. int main() { ANSELB = 0x0000; ANSELD = 0x0000; // Loop: Loop 2 times for (FCLV_LOOP1=0; (FCLV_LOOP1)<(2); (FCLV_LOOP1)++) { FCP_SET(M, D, 0x00000010, 4, (1)); // Output: 1 -> D4 FCI_DELAYBYTE_S(1); // Delay: 1 s FCP_SET(M, D, 0x00000010, 4, (0)); // Output: 0 -> D4 FCI_DELAYBYTE_S(1); // Delay: 1 s } // Interrupt: Enable TMR1 T1CON = (T1CON & 0xfffd); T1CON = ((T1CON & 0xff0f) | 0x0030); PR1=65536-1; T1CON = T1CON | 0x8000; IEC0bits.T1IE = 1; IPC1bits.T1IP = 1; IPC1bits.T1IS = 0; TMR1 = 0; INTCONbits.MVEC = 1; __builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001)); // Loop: While 1 while (1) { FCP_SET(M, B, 0x00000800, 11, (FCV_COUNT & 1)); // Output: count & 1 -> B11 FCP_SET(M, D, 0x00000010, 4, (1)); // Output: 1 -> D4 FCI_DELAYBYTE_MS(80); // Delay: 80 ms FCP_SET(M, D, 0x00000010, 4, (0)); // Output: 0 -> D4 FCI_DELAYBYTE_MS(80); // Delay: 80 ms } return 0; } void __ISR(_TIMER_1_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance0(void) { IFS0bits.T1IF = 0; FCV_COUNT = FCV_COUNT + 1; } However if I change the code so that the __ISR function calls another function then the code completely freezes as soon as the interrupt fires. Any idea what I'm doing wrong? void FCM_timerint() { FCV_COUNT = FCV_COUNT + 1; } void __ISR(_TIMER_1_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance0(void) { IFS0bits.T1IF = 0; FCM_timerint(); } |
|
相关推荐
1个回答
|
|
|
我会说“堆栈溢出”,但我知道在这种情况下是不可能的。
以上来自于百度翻译 以下为原文 I would say "stack overflow" but I know it's unlikely in this case... |
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
495 浏览 0 评论
5808 浏览 9 评论
2347 浏览 8 评论
2237 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3542 浏览 3 评论
1151浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1118浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
886浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
499浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-11 14:13 , Processed in 0.709952 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2714