完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
下午好,我正在努力寻找意外重置的源头。我基本上已经注释了所有的代码,除了下面的ISR片段(它被称为一次由外部脉冲)和一个空的主while循环。然而,像钟表运行后约5分钟,DSSPICEV复位。如果我检查RCON寄存器,我看到比特14被设置。FRM将此标志描述为“非法的OP代码”。我执行的代码太少,在任何地方都看不到非法的OP代码或内存访问。下面是代码段,任何帮助都将被极大地理解。也许相关的,“错误”状态“在访问程序内存地址0x1001到0x200期间可能会发生一个意外的地址错误陷阱。当使用TBRRDX、TBLWTX或基于PSV的指令读取或写入程序存储器地址时,已经观察到了一个或多个中断请求。“我如何指导编译器不使用这些地址?”SnpIs:AuthQuixAtditTyx((α-BythTytha,NoAutoPosipSv)).CNSIFT=0,IF(PurbButs.RB15==1){Switt(StffStStand){CaseunIti:IF(U16SySt==60){TMR4=0;TMR5=0;SuffFSMSTATE=就绪;Debug 2^=1;} {U16SySt+++;}中断;CaseRead:Dead;Deb Deb;UG:中断;}调试3^=1;}
以上来自于百度翻译 以下为原文 Good afternoon, I'm struggling to find the source of an unexpected RESET. I have commented essentially all of my code out except the ISR snippet (which is called once a second by an external pulse) below and an empty main while loop. However like clockwork after running for about 5 minutes the dsPIC33EV resets. If I inspect the RCON register I see that bit 14 is set. the FRM describes this flag as occurring for "illegal op code". I have so little code executing that I can't see anywhere an illegal op code, or memory access would occur. Below is the snippet, any help would be greatly appreciated. Maybe relevant, the errata states "An unexpected address error trap may occur during accesses to program memory addresses, 0x001 through 0x200. This has been observed when one or more interrupt requests are asserted while reading or writing program memory addresses using TBLRDx, TBLWTx or PSV-based instructions." How do I direct the compiler not to use these addresses? snippet: void __attribute__ ((__interrupt__, no_auto_psv)) _CNInterrupt(void){ IFS1bits.CNIF=0; if (PORTBbits.RB15==1){ switch (systemFSMState){ case uninit: if (u16SysTick==60){ TMR4=0; TMR5=0; u16SysTick=0; systemFSMState=ready; DEBUG2^=1; } else{ u16SysTick++; } break; case ready: break; case debug: break; } DEBUG3^=1; } } |
|
相关推荐
2个回答
|
|
对不起,所有的麻烦,我没有检查死人定时器。微笑:解决了的。
以上来自于百度翻译 以下为原文 I'm sorry, all that trouble and I didn't check the deadman timer. Smile: . Solved. |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
5202 浏览 9 评论
2016 浏览 8 评论
1942 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3188 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2243 浏览 5 评论
753浏览 1评论
640浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
545浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
652浏览 0评论
552浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 10:40 , Processed in 1.410686 second(s), Total 101, Slave 85 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号