完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
自定的按键方案:选取DIO9、DIO10、DIO11来实现按键
syscfg中各GPIO的配置如下图所示 BUTTON菜单的配置 希望在自己创建的任务中通过轮询的方式获取三个按键IO的输入电平,自己实现长按/短按的逻辑判断。 调用接口GPIO_read;如下所示: MenuModule_printf()打印方式已调整为滚屏打印; 经验证task1中的GPIO_toggle(CONFIG_GPIO_LED_GREEN);可以正常实现; 但无法读取到按键按下的动作(无打印),向大佬们求教!!! |
|
相关推荐
1个回答
|
|
为了解决CC2340R5无法读取到按键按下的动作的问题,请按照以下步骤操作:
1. 确保硬件连接正确:首先,请检查您的硬件连接,确保DIO9、DIO10和DIO11引脚与按键正确连接,并且按键的另一端连接到地线(GND)。 2. 检查GPIO配置:在syscfg中,确保DIO9、DIO10和DIO11的GPIO配置正确。它们应该被配置为输入模式,并且可能需要配置为上拉或下拉电阻。 3. 初始化GPIO:在您的任务中,确保在轮询之前初始化GPIO。您可以使用以下代码初始化GPIO: ``` GPIO_init(); ``` 4. 轮询GPIO:在您的任务中,使用GPIO_read()函数轮询DIO9、DIO10和DIO11的输入电平。例如: ``` uint8_t button1 = GPIO_read(DIO9); uint8_t button2 = GPIO_read(DIO10); uint8_t button3 = GPIO_read(DIO11); ``` 5. 实现长按/短按逻辑判断:根据您的需求,实现长按和短按的逻辑判断。例如,您可以使用定时器或延时函数来实现长按和短按的检测。 6. 打印信息:在检测到按键按下时,使用MenuModule_printf()打印相关信息。 7. 调试:如果仍然无法读取到按键按下的动作,请使用调试工具(如CC Debugger)逐步检查代码,确保GPIO_read()函数在正确的时间被调用,并且返回正确的值。 通过以上步骤,您应该能够解决CC2340R5无法读取到按键按下的动作的问题。如果问题仍然存在,请检查硬件连接和代码逻辑,确保没有错误。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1464 浏览 0 评论
会员风采!华秋电子——致力于“为电子产业增效降本”的数字化智造平台
977 浏览 0 评论
【应用笔记】BlueNRG-LP、BlueNRG-LPS+省电模式
8028 浏览 1 评论
11239 浏览 0 评论
16265 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 02:41 , Processed in 0.419567 second(s), Total 42, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号