你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

F103的键盘程序调不出来

[复制链接]
signet 提问时间:2017-3-30 22:06 /
请教各位高手,我更改了一个STM32F103C8T6核心板的USB HID键盘例程,想实现的目标是按一个按键(下拉PORTB0,不松开),USB输出一个键盘的的按键动作,
并且只输出一次按键动作,目前的程序实现了按键后,能够输出键盘按键动作,可是不能实现只输出一次,会一直出按键,能够用的代码如下:
while(1) //
     {                                
                        if(!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1))
                                {
                                            GPIO_ResetBits(GPIOB,GPIO_Pin_0);//点亮LED指示灯
                                            Keyboard_Send(USB_SBUF);
                                                        Keyboard_Send(USB_SBUF_Zero);
                                                        Delay(1100);
                                                 
                                        //while(!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1)){}         
                                }
                        else
                          {
        Keyboard_Send(USB_SBUF_Zero);//关掉LED指示灯
                                GPIO_SetBits(GPIOB,GPIO_Pin_0);
                                Delay(1100);
                          }
     }

**********************************************************************************
加了红色部分的代码后,完全不输出键值了,为什么呢?请给位高手帮忙解答下

键值显示

键值显示


收藏 1 评论2 发布时间:2017-3-30 22:06

举报

2个回答
斜阳__ 回答时间:2017-3-31 11:06:30
红色部分可能在会构成长期循环。用if进行判断
toofree 回答时间:2017-3-31 13:42:53
你这属于程序逻辑问题呀。
给你提示一下,记住上一次查询的状态。
当前状态与前一次的状态比较,如果不同,那么就发送按下或抬起的键值。
当然要做的好的话,需要加去抖操作。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版