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

查看: 3666|回复: 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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版