找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

为什么这个单片机矩阵按键程序开机默认为0

查看数: 2696 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-3-21 22:00

正文摘要:

这个矩阵按键程序为什么默认为0?程序没有哪一条讲有默认为0?

回复

ID:687694 发表于 2020-3-23 18:33
机子单 发表于 2020-3-22 19:20
开机初始时,显示屏显0,GPIO_KEY没有检测到按按键,程序中也没有写开机初始时KeyValue=0,所以是什么原 ...

原来你问的这个,编译器会吧没有赋值的变量默认赋值为0,在你程序中如果没有按键按下,则最后面一句给端口赋值时返回数组成员第一个,也就是数组[0],你应该在swich中添加default:选项。
ID:697917 发表于 2020-3-23 17:46
keyvalue定义时未赋值,默认是0。 如果按其他键后,应该就非0了,除非再次按下0键

评分

参与人数 1黑币 +6 收起 理由
机子单 + 6

查看全部评分

ID:602576 发表于 2020-3-23 15:01
部分变量没赋初始值造成
ID:191511 发表于 2020-3-23 14:27
编译器在编译的时候,会把没有给初始值的变量给默认值0,也就是即便你没有做初始化,它还是会显示0,而0正好是第一个按键的键值。
简单的办法就是在编码表里增加一个元素,给这个元素幅值为你想要没有按键按下时显示的内容的编码,给变量初始化为这个元素的下标。

评分

参与人数 1黑币 +9 收起 理由
机子单 + 9

查看全部评分

ID:699855 发表于 2020-3-23 12:49
机子单 发表于 2020-3-22 19:20
开机初始时,显示屏显0,GPIO_KEY没有检测到按按键,程序中也没有写开机初始时KeyValue=0,所以是什么原 ...

keyvalue默认是0
ID:616666 发表于 2020-3-22 19:20
lovexulu 发表于 2020-3-22 17:36
GPIO_KEY=0x0f是说P1口,高4位(P1.7,P1.6,P1.5,P1.4)为0,低4位为1,GPIO_KEY=0xf0时候正好相反,直接对 ...

开机初始时,显示屏显0,GPIO_KEY没有检测到按按键,程序中也没有写开机初始时KeyValue=0,所以是什么原因初始时显示屏显0?
ID:687694 发表于 2020-3-22 17:36
GPIO_KEY=0x0f是说P1口,高4位(P1.7,P1.6,P1.5,P1.4)为0,低4位为1,GPIO_KEY=0xf0时候正好相反,直接对端口寄存器赋值使对应端口置位。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表