完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
连续将key4值通过T0中断一位一位用“或运算“写入char 型变量keybuf中。这与其他地方对不同变量的运算描述不符,请大神们赐教。小弟拜谢。
void Interrupttimer0() interrupt 1 { static unsigned char keybuf = 0xFF; //按键扫描缓冲区,保存一段时间内的扫描值 TH0 = 0xF8; TL0 = 0xCD; keybuf = (keybuf << 1) | KEY4; //只取KEY4为例,缓冲区左移一位,并将当前扫描值移入最低位 if (keybuf == 0x00) { //当连续8次扫描值都为0,即16ms内都只检测到按下状态时,可认为按键已按下 KeySta = 0; //按键状态值为按下 } else if (keybuf == 0xFF) { //当连续8次扫描值都为1,即16ms内都只检测到弹起状态时,可认为按键已弹起 KeySta = 1; //按键状态值为弹起 } |
|
相关推荐
1个回答
|
|
要看你的bit是第几位了吧,这个要你人为的确认,再转成char进行移位
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
过采样提高12位ADC精度在STM32主控上的实现(附电路及代码)
218 浏览 0 评论
飞凌嵌入式-ELFBOARD 解决PCB布线时无法捕捉到焊盘中心的问题
801 浏览 0 评论
Openharmony软件评估指南-米尔瑞芯微RK3568开发板
1112 浏览 0 评论
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
1184 浏览 0 评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】开发板简介与上电测试
1225 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11077 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-14 05:17 , Processed in 0.595444 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号