wanshouxujiu 2022-03-04 13:45 采纳率: 83.3%
浏览 113
已结题

为什么被中断函数用到的变量不能放在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 14:09
    关注

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

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

报告相同问题?

问题事件

  • 系统已结题 3月11日
  • 已采纳回答 3月4日
  • 创建了问题 3月4日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部