单片机c 语言中断程序,请大神帮忙,单片机C语言程序为什么没进入中断

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

IAR在Debug下报错 The stack pointer for stack 'C Stack' (currently Page0: 0x01) is outside the stack range (page0:0x03 to page0:0x03),请问只是什么原因?是不是程序有问题,程序编译通过了,但是好像并未进入中断,刚开始用C,请高人指点,谢谢!

#include "ioS3C9488.h"//

#include "iobit.h" //IO端口位操作定义文件

#include "intrinsics.h"//包含内部函数

/**此处为宏定义替换******

#define uchar unsigned char

#define uint unsigned int

#define nop (__no_operation())

#define di (__disable_interrupt())

#define ei (__enable_interrupt())

//************************************************

//**此处定义程序所用到的全局变量*******

uchar work_***1 =0;

uchar time_125us=0;

uchar time_10ms=0;

uchar time_1s=0;

uchar time_1min=0;

uchar time_1hour=0;

//*************************************************************************

//**位变量操作宏定义

//系统运行操作标志位定义

#define Test_tintpnd (TINTPND & 0x1)

#define Clr_tintpnd (TINTPND =TINTPND & ~0x1)

/***程序所用函数声明*****

//***凡程序中所用到的函数请先在这里声明***

__interrupt void int_9488();

void main();

void chip_init();

void display();

//*************************************************************************

//========================主程序控制===========================

void main( )

{

di;

//***初始化过程***//

chip_init();

ei;

while(1)

{

Set_P31;

if(time_1s==60)

{

time_1s=0;

time_1min++;

Clr_P30;

// Set_P31;

}

if(time_1min==60)

{

time_1min=0;

time_1hour++;

}

// void display();

}

}

//******************************************************************

//****启动时IO初始化子过程******

void chip_init()

{

di;

ADCON =0x06; // 0000110B ;hcj禁止AD转换

SYM =0x08; //使能所有中断,选择第0页

TACON =0x8b; //64分频,中断模式,清除定时器A,禁止溢出中断,使能 匹配中断,中断开

TADATA =0x08; //1/(4.19MHZ/64)*8=122US

VLDCON =0x00;

WDTCON =0x00; //使能看门狗

WTCON =0x36; //禁止WTCON中断

//省略一部分

ei;

return;

}

//************************************

//中断子程序

//*********************************

#pragma vector=0x00

__interrupt void int_9488()

{

asm("push SYM");

if(Test_tintpnd)

{

Clr_tintpnd;

time_125us++;

}

if(time_125us==80)

{

time_10ms++;

time_125us=0;

}

if(time_10ms==100)

{

time_1s++;

Set_P30;

time_10ms=0;

}

asm("pop SYM");

return;

}

微信扫码订阅
UP更新不错过~
关注
  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值