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

查看: 3695|回复: 3

关于STM8按键问题

[复制链接]

4

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-3-13 20:26:12 | 显示全部楼层 |阅读模式
在下刚刚入门STM8,用的是STM8S105C6,写按键程序的时候出现问题,想请各路大侠帮帮忙,看看该怎样解决
按键的初始化程序如下 
GPIO_Init(GPIOC, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7, GPIO_MODE_IN_FL_NO_IT);
  GPIO_Init(GPIOG, GPIO_PIN_0|GPIO_PIN_1, GPIO_MODE_IN_PU_NO_IT);
  GPIO_Init(GPIOE, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);
 
主程序部分
while(1)
  {
   // LED1(H);
    //LED2(H);
    //GPIO_WriteHigh(GPIOA, GPIO_PIN_3|GPIO_PIN_4);
   //GPIO_WriteLow(GPIOA, GPIO_PIN_3|GPIO_PIN_4); 
    
    BitStatus up;
    BitStatus down;
    BitStatus center;
    BitStatus back;
    BitStatus int_1;
 
    
    up = GPIO_ReadInputPin(GPIOG, GPIO_PIN_0);
    down=GPIO_ReadInputPin(GPIOC, GPIO_PIN_7);
    center=GPIO_ReadInputPin(GPIOC, GPIO_PIN_6);
    back=GPIO_ReadInputPin(GPIOC, GPIO_PIN_5);
    
    int_1 = GPIO_ReadInputPin(GPIOG, GPIO_PIN_1); 
 
     if (up == RESET)  //SET or RESET
      {
        LED1(H);
        LED2(L);
        LED3(L);
        LED4(L);
      }
      if (int_1 == RESET)  //SET or RESET
      {
        LED1(L);
        LED2(H);
        LED3(L);
        LED4(L);
      } 
      if(down==RESET)
      {
        LED1(L);
        LED2(L);
        LED3(H);
        LED4(L);
      }
      if(back==RESET)
      {
        LED1(L);
        LED2(L);
        LED3(L);
        LED4(H);
      }
}
 
问题:
         如果注释掉后面两个if语句,只用PG0,PG1,发现程序正常,可实现LED1和LED2之间的切换。可是加上后面两个if之后,就有问题了,LED3常亮LED4,按键失去功能,该怎样解决。附上原理图
QQ截图20140313202358.png
<
回复

使用道具 举报

4

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2014-3-13 23:49:19 | 显示全部楼层

RE:关于STM8按键问题

终于找到原因了,由于是先用转接板转接再焊在洞洞板上,加上按键的焊接处弄了比较多的飞线,导致按键按下时产生干扰。在程序中加入消抖,就解决了。坑爹,还以为是程序问题,搞了一个下午和晚上。
回复 支持 反对

使用道具 举报

0

主题

70

回帖

0

蝴蝶豆

初级会员

最后登录
2020-9-25
发表于 2014-4-21 21:54:24 | 显示全部楼层

RE:关于STM8按键问题

谢谢,分享OK!
回复 支持 反对

使用道具 举报

1

主题

135

回帖

15

蝴蝶豆

金牌会员

最后登录
2020-12-9
发表于 2018-2-20 09:49:02 | 显示全部楼层
最近也在搞按键,学习了
回复 支持 反对

使用道具 举报

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