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

为什么被中断函数用到的变量不能放在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 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题