本帖最后由 daijiabin3 于 2016-1-5 15:29 编辑
小弟新手,接触PIC单片机不久,现做个PIC12F629的一个IO口(即#2pin——GP5)输出一方波
可是在proteus仿真的时候有错误提示:[PIC12 CORE] PC=0x0011. Stack overflow executing CALL instruction. [U1]
网上查询的原因是看门狗的问题。可是在程序内我已经关闭了看门狗功能,极有可能是小弟不会正确设置。
附上代码,望指正错误
#include<pic.h>
#include <htc.h>
__CONFIG(FOSC_INTRCIO & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & BOREN_OFF & CP_OFF & CPD_OFF);
void interrupt PWMGP(void);
unsigned char stat = 0;
void main()
{
TRISIO5=0; //GP5=U_2PIN=输出
//Timer0初始化设置
PSA=0;//Timer0 使用预分频器
//Timer0选择分频率为1:2
PS0=0;PS1=0;PS2=0;
//内部时钟定时方式,定时时间:20uS,误差:0uS
T0CS=0;
TMR0=0xF6;
T0IE=1;//Tiemr0中断允许
GIE=1;
GP5=0;
while(1)
{
}
}
void interrupt PWMGP(void)
{
if(T0IF)
{
T0IF=0;
TMR0=0xF6;
if(stat==1)
{
GP5=0;
stat=0;
}
else
{
GP5=1;
stat=1;
}
}
}
|