OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14978|回复: 2

按键程序故障--用的正点原子程序?请大侠看看

[复制链接]

3

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2011-3-28
在线时间
0 小时
发表于 2011-4-10 18:44:10 | 显示全部楼层 |阅读模式
 

按键key0,led0灭,再按key0 led0亮,没按一次key0 led0都取反;key1同key0控制led1;key3则同时控制led0,led1;我把详细图文传上请大侠们看看,十分感谢

#include<stm32f10x_lib.h>
 #include"sys.h"
 #include"delay.h"
 #include"usart.h"
 #include"led.h"
 #include"key.h"
 int main(void)
 {   
        u8 key;
    Stm32_Clock_Init(9);//系统时钟72M
  delay_init(72);  //延时时钟初始化;
  KEY_Init();
  LED_Init();
 
  while(1)
  {
    key=KEY_Scan();
    if(key)
    {
  switch (key)
  {
    case 1: LED0=!LED0;break;
    case 2: LED1=!LED1;break;
    case 3ED0=!LED0;
   LED1=!LED1;
   break;
   
      }
  }
  else
  delay_ms(10);
  }


 }



#include <stm32f10x_lib.h>
#include"led.h"

 void LED_Init(void)
 {
  RCC->APB2ENR|=1<<7;      //启动F口时钟;
  GPIOF->CRL&=0XF0FFFFFF;//配置PF.6口输出模式
  GPIOF->CRL|=0X03000000;
  GPIOF->ODR=1<<6;
  GPIOF->CRL&=0X0FFFFFFF;  //配置pf.7口输出模式
  GPIOF->CRL|=0X30000000;
  GPIOF->ODR=1<<7;
 
 }




#include<stm32f10x_lib.h>
  #include"key.h"
 #include"delay.h"
 
 void KEY_Init(void)
 {
   RCC->APB2ENR|=1<<2;  //使能端口PA时钟;
  
   GPIOA->CRL&=0xfffffff0; //PA.0输RU
   GPIOA->CRL|=0x00000008;
   GPIOA->ODR=1;           // PA.0为上拉
   GPIOA->CRH&=0xfffffff0;
   GPIOA->CRH|=0x00000008;
   GPIOA->ODR=1<<8;
  RCC->APB2ENR|=1<<4;   // //使能端口Pc时钟
   GPIOC->CRH&=0xff0fffff;
   GPIOC->CRH|=0x00800000;
   GPIOC->ODR=1<<13;

   /*GPIOD->CRL&=0xffff0fff;
   GPIOD->CRL|=0x00008000;
   GPIOC->ODR=1<<3; */
 }
 u8 KEY_Scan(void)
 {
     static u8 key_flag=1;
   if(key_flag&&(key0==0||key1==0||key2==0))
   {
      delay_ms(10);
   key_flag=0;
 
     if (key0==0)
  {
  return 1;
   }
  if (key1==0)
   {
    return 2; }
  if (key2==0)
   { return 3; }
   }
   if(key_flag==0||(key0==1&&key1==1&&key2==1))
     ;
  return 0;




 

具体的请看附件

按键lizi.rar

867.51 KB, 下载次数: 837

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-4-10 19:00:09 | 显示全部楼层
回复【楼主位】chenyingbin:
-------------------------------
是不是在我们的板子上测试的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2011-3-28
在线时间
0 小时
 楼主| 发表于 2011-4-11 10:03:24 | 显示全部楼层
已解决
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 15:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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