关于定时器扫描按键主程序定义中间变量的问题

sky颜 2023-05-12 16:10:40

unsigned char keynum;
unsigned char temp;     //定义中间缓冲变量temp

void main()
{
  timer0_init();            //定时器初始化
  while(1)
  {
   keynum=key();
   if(keynum)temp=keynum;              
   nixie(1,temp);
   }
}

各位大佬,上面是江科大定时器扫描按键课程主程序中的一段代码,我有一个问题:
1、为什么要定义一个中间缓冲变量temp?直接如下表示不可以吗?
 keynum=key();
   if(keynum)nixie(1,keynum);

...全文
188 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-05-12
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/7943302, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态
  • 打赏
  • 举报
回复 1

矩阵按键扫描有按下和无按下都会返回一个值,当判断返回值是有按下就要保存,否则很快被后面释放值覆盖。

27,512

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧