完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
static u8 read_mpr121_reg(u8 device, u8 addr) {
u8 dat; IIC_Init(); IIC_Start(); IIC_Send_Byte(device); IIC_Wait_Ack(); IIC_Send_Byte(addr); IIC_Wait_Ack(); IIC_Start(); IIC_Send_Byte(device + 0x01); IIC_Wait_Ack(); //dat=read_byte(); //IIC_NAck(0); dat = IIC_Read_Byte(0); IIC_NAck(); IIC_Stop(); return dat; } /** * ¶áè¡μ±Ç°μÄ°′¼ü * @return 0xff μ±Ç°Ã»óD°′¼ü°′Ï * 0~11 μ±Ç°±»°′ÏÂμÄkeyÖμ */ static u8 get_key() { u8 count = 0; u8 i = 0; u32 dat; dat = read_mpr121_reg(touch_shield, 0x01) << 8; dat = dat | read_mpr121_reg(touch_shield, 0x00); for (i = 0; i < 12; i++) { if ((dat & (1 << i))) { count++; } } i = 0; if(count == 1) { while((dat & (1 << i)) == 0) { i++; } return i; } return 0xff; } 以上是mpr121处理程序的一部分,红色的两行程序我不是很明白,不知道他是怎么获取按键值得,请教各位了 |
|
相关推荐
1个回答
|
|
红色部分是获取按键值的高8位和低8位仪器拼接成一个32位的数据,然后再对拼接的32为数据进行位判断,看哪一位为1,则返回位的计数值。
|
|
|
|
只有小组成员才能发言,加入小组>>
9531 浏览 0 评论
8902 浏览 0 评论
13305 浏览 0 评论
4345 浏览 0 评论
4567 浏览 0 评论
1670浏览 1评论
299浏览 1评论
434浏览 1评论
IPC-6012E CN 2020中文 CN 刚性印制板的鉴定及性能规范
506浏览 1评论
329浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 16:31 , Processed in 1.429626 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号