请大侠帮忙了,我用PIC12F675 操作2个LED灯,一个简单的程序,编译没问题,但运行就出现堆栈溢出,用MPLAB SIM和PROTEUS都是这样,烧录到单片机上就没任何反应。不知道是哪个地方出问题,程序如下:
#include <htc.h>
__CONFIG(6);
#define uint unsigned int
#define uchar unsigned char
#define PWM GPIO4 // 负载半功率输出控制
#define LED_CHARGE GPIO3 // 蓄电池电压指示灯
#define SW_CHARGE GPIO5 // 蓄电池充电控制
#define SW_LOADER GPIO2 // 负载输出控制
void initial(void)
{
GPIO = 0;
TRISIO = 0x0;
OPTION = 0X3;
WPU = 0x3;
INTCON = 0xA0; // 允许定时器0中断
TMR0 = 244;
PIE1 = 0; //0x40; // 允许模数转换中断
PIR1 = 0;
IOCB = 0;
OSCCAL = 0xec;
CMCON = 0;
ANSEL = 0x0;
}
bit bTimer ;
void interrupt TIMER(void)
{
if(T0IE && T0IF)
{
T0IF=0;
TMR0 = 244;
bTimer = 1;
}
if(ADIE && ADIF)
{
ADIF = 0;
}
}
void main(void)
{
bTimer = 0;
initial();
while(1)
{
if(bTimer)
{
bTimer = 0;
PWM = !PWM;
SW_LOADER = !SW_LOADER;
}
}
}
MPLAB IDE是8.66版本,PICC编译器是9.50,哪位知道的,请不吝赐教。先谢谢了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
CORE-E0001: Stack over flow error occurred from instruction at 0x000023"
一周热门 更多>