打印
[STM32F4]

stm32按键灯亮程序

[复制链接]
1258|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qiangweii|  楼主 | 2016-8-13 16:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//分别按下S1~S4,D1~D4分别点亮
#include "stm32f10x.h"
void Delay(unsigned intx);

int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE,ENABLE);//IO口使能设置
  GPIO_InitTypeDefGPIO_InitStructure;   //定义结构体
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; //LED管脚   
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOC,&GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_13;     //LED管脚
  GPIO_Init(GPIOD,&GPIO_InitStructure);
  
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4| GPIO_Pin_5;//按键管脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;  //设置为上拉输入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOE,&GPIO_InitStructure);
  
  
  while(1)
  {
   if(!(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_5)))
     GPIO_SetBits(GPIOC,GPIO_Pin_6);  
   else
     GPIO_ResetBits(GPIOC,GPIO_Pin_6);
   if(!(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)))
     GPIO_SetBits(GPIOC,GPIO_Pin_7);
   else
     GPIO_ResetBits(GPIOC,GPIO_Pin_7);
   if(!(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)))
     GPIO_SetBits(GPIOD,GPIO_Pin_13);
   else
     GPIO_ResetBits(GPIOD,GPIO_Pin_13);
   if(!(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)))
     GPIO_SetBits(GPIOD,GPIO_Pin_6);
   else
     GPIO_ResetBits(GPIOD,GPIO_Pin_6);
   

  }
}


void Delay(unsigned intx)
{
unsigned int t;
t=x;
while(t--);
}
沙发
qiangweii|  楼主 | 2016-8-13 16:03 | 只看该作者
STM32互连型系列产品分为两个型号: STM32F105和STM32F107。

使用特权

评论回复
板凳
litengg| | 2016-8-13 16:07 | 只看该作者
不知道楼主是用的哪一款型号!!!

使用特权

评论回复
地板
androidbus| | 2016-8-13 16:12 | 只看该作者
怎么没有电路设计图呢?

使用特权

评论回复
5
feiqi1| | 2016-8-13 16:15 | 只看该作者
void Delay(unsigned intx)
{
unsigned int t;
t=x;
while(t--);
}
这个延时函数是延时多少时间呀?

使用特权

评论回复
6
boy1990| | 2016-8-13 16:35 | 只看该作者
GPIO_InitTypeDefGPIO_InitStructure;   //定义结构体 这个一定不能忘记了!!

使用特权

评论回复
7
mmuuss586| | 2016-8-13 19:56 | 只看该作者
谢谢分享;

使用特权

评论回复
8
capturesthe| | 2016-8-13 20:59 | 只看该作者
这个按键没有实现自锁的功能啊

使用特权

评论回复
9
huangcunxiake| | 2016-8-13 22:23 | 只看该作者
最好再设计个硬件的,按下时候按键下面的灯点亮,看着炫酷。

使用特权

评论回复
10
天灵灵地灵灵| | 2016-8-14 14:36 | 只看该作者
可以在一个按键下搞两对触电,对于其中一对是直接接LED,作为单独供电系统,这样就不影响LED。

使用特权

评论回复
11
长的帅怪我落| | 2016-8-16 17:09 | 只看该作者
虽然不需要,但是还是谢谢楼主分享

使用特权

评论回复
12
qiangweii|  楼主 | 2016-8-18 20:02 | 只看该作者
天灵灵地灵灵 发表于 2016-8-14 14:36
可以在一个按键下搞两对触电,对于其中一对是直接接LED,作为单独供电系统,这样就不影响LED。 ...

是的,您的这种设计的思路很正确。

使用特权

评论回复
13
gejigeji521| | 2016-8-18 22:11 | 只看该作者
配置成IO模式,然后循环扫描检测

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

1521

帖子

3

粉丝