硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4925|回复: 1
收起左侧

[有问必答] 请教stm32cube生成的按键检测工程在V2板子上的问题

[复制链接]

91

主题

289

回帖

562

积分

金牌会员

积分
562
发表于 2015-2-5 16:50:35 | 显示全部楼层 |阅读模式
今天想试试stm32cube生成工程,使用HAL库。
在原来的V2板子上进行测试,把按键检测程序移植了一下,附件是工程 key.rar (3.65 MB, 下载次数: 102)
有这么几个问题:
1、void KeyPro(void)
{
    DetectButton(&s_BtnUser);        /* USER 键 */
    //DetectButton(&s_BtnTamper);        /* TAMPER 键 */
//    DetectButton(&s_BtnWakeUp);        /* WAKEUP 键 */
//    DetectButton(&s_BtnUp);            /* 摇杆UP键 */
//    DetectButton(&s_BtnDown);        /* 摇杆DOWN键 */
//    DetectButton(&s_BtnLeft);        /* 摇杆LEFT键 */
//    DetectButton(&s_BtnRight);        /* 摇杆RIGHT键 */
//    DetectButton(&s_BtnUserTamper);    /* 组合键 */
}
如果没有把下面的屏蔽,就进入硬件错误中断,如果只开通USER按键,就不会进入硬件错误中断。
2、在只开通USER的情况下,当user按键按下,unsigned char IsKeyDownUser(void)执行的是return 1,但是如下第一个if语句不会执行,设置个变量i=pBtn->IsKeyDownFunc()始终是0,说明上面的return 1没有返回到这里。
void DetectButton(BUTTON_T *pBtn)
{
    if (pBtn->IsKeyDownFunc())
    {
        if (pBtn->Count < pBtn->FilterTime)

不知道是哪的原因?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106840
QQ
发表于 2015-2-6 09:44:46 | 显示全部楼层
stm32cube没有用过,后面研究的话,我试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-7 03:19 , Processed in 0.253699 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表