首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么要重置dsPIC30F4012?

为什么要重置dsPIC30F4012?
EN

Stack Overflow用户
提问于 2012-03-09 09:05:16
回答 1查看 261关注 0票数 0

我有一个小电路与y dsPIC30F4012,有时它工作正常,但有时没有任何理由随机重置回到程序的开始。

由3V MCLR供电,具有10k电阻

一些设置:

代码语言:javascript
复制
_FOSC(CSW_FSCM_OFF & FRC_PLL4 & CSW_ON_FSCM_OFF & CSW_FSCM_OFF); 
_FWDT(WDT_OFF); 
_FBORPOR(PBOR_OFF & MCLR_DIS & PWRT_OFF & BORV20);
_FGS(CODE_PROT_OFF & GWRP_OFF); 

#define TMR1_PERIOD 7369

{
TMR1 = 0; /* clear timer1 register */
PR1 = TMR1_PERIOD; /* set period1 register */
T1CONbits.TCS = 0; /* set internal clock source */
IPC0bits.T1IP = 4; /* set priority level */
IFS0bits.T1IF = 0; /* clear interrupt flag */
IEC0bits.T1IE = 1; /* enable interrupts */
SRbits.IPL = 3; /* enable CPU priority levels 4-7 */
T1CONbits.TON = 1; /* start the timer */
}


/****** START OF INTERRUPT SERVICE ROUTINES *********/

void __attribute__((__interrupt__, __shadow__, __no_auto_psv__ )) _T1Interrupt(void) 
{
Timer1 ++;
Timer2 ++;
Timer3 ++;
Timer4 ++;
MainCounter++;
IFS0bits.T1IF = 0; /* clear interrupt flag */
return;
}           
EN

回答 1

Stack Overflow用户

发布于 2012-03-09 09:12:36

可以通过以下原因调用RESET处理器:start power supplyreset signal input /MCLRWDT overflow

请注意:在切换预分频器Timer0 WDT 模块之间之前,建议使用TMR0和WDT reset,否则可能会意外(无意)重置处理器。

看看这个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9627555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档