wanshouxujiu 2022-03-04 21:45 采纳率: 80%
浏览 91
已结题

为什么被中断函数用到的变量不能放在main函数里?(keil5)

img

源码

#include <REGX52.H>
#include "Timer.h"
#include "LCD1602.h"
#include "another.h"

//unsigned char Sec=0, Min=0, Hour=0;
void main()
{
unsigned char Sec=0, Min=0, Hour=0;
Timer0_Init();
LCD_Init();
LCD_ShowString(1,1,"Clock:");
LCD_ShowString(2,1," : :");
while(1)
{
LCD_ShowNum(2,1,Hour,2);
LCD_ShowNum(2,4,Min,2);
LCD_ShowNum(2,7,Sec,2);
}
}

void Timer0_Routine() interrupt 1
{
static unsigned int T0count = 0;
TH0 = 64535 / 256;
TL0 = 64535 % 256 + 1;
T0count++;
if(T0count >= 1000)
{
T0count = 0;
Sec++;
if(Sec == 60)
{
Sec = 0;
Min++;
if(Min == 60)
{
Min = 0;
Hour++;
if(Hour == 24)Hour = 0;
}
}
}
}

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2022-03-04 22:09
    关注

    那肯定不行啊。只是放在main函数里,是函数内的局部变量,又不是全局变量,其它函数自然访问不到的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月4日
  • 创建了问题 3月4日

悬赏问题

  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗