完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
看了网上的4*4矩阵按键,不带外部中断,可实现多个按键同时按下。发现行线都配置成GPIO_Mode_Out_PP推挽输出,我认为当同一个列线上有两个按键同时按下时就会出现问题。
因为矩阵按键必然存在行线有高电平也有低电平的情况,而接在一个行线上的两个按键按下,就使得推挽输出高电平和低电平的IO口通过按键短路,造成IO口的损坏。 所以行线配置成GPIO_Mode_Out_OD开漏输出,然后在列线上加上拉电阻来做矩阵按键更为合理。 |
|
相关推荐
1个回答
|
|
您的观点是正确的。在STM32矩阵按键设计中,确实存在由于行线配置不当导致的IO口损坏风险。以下是详细的解释:
1. 当行线配置为GPIO_Mode_Out_PP(推挽输出)时,每个行线都有一个固定的电平(高电平或低电平)。当两个按键同时按下时,它们的行线电平会相互冲突,可能导致短路,从而损坏IO口。 2. 为了避免这种情况,可以将行线配置为GPIO_Mode_Out_OD(开漏输出)。开漏输出允许行线在没有内部驱动时呈现高阻态,这样可以减少短路的风险。 3. 在列线上加上拉电阻是一个好主意。上拉电阻可以确保在没有按键按下时,列线保持高电平。当按下一个按键时,行线和列线之间的连接会导致列线电平降低,从而可以检测到按键的按下。 4. 使用开漏输出和上拉电阻的矩阵按键设计可以提高系统的稳定性和可靠性,降低IO口损坏的风险。 5. 另外,还可以考虑使用外部中断来检测按键按下事件,这样可以进一步提高系统的响应速度和准确性。 总之,将行线配置为GPIO_Mode_Out_OD(开漏输出)并在列线上加上拉电阻是实现矩阵按键的一种更为合理的方法,可以有效降低IO口损坏的风险。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1537 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1490 浏览 1 评论
910 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
654 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1538 浏览 2 评论
1845浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
596浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
499浏览 3评论
499浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
483浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 13:24 , Processed in 0.461633 second(s), Total 43, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号