废话不说,直接上代码
我想做个,可以检测到按钮输入然后继电器输出的案列,但是目前无法读取地址,只能让Pin_13,Pin_14,Pin_15三个角继电器循环输出,请问下该怎么做检测按钮输入的?
- #include "stm32f10x.h"
- void delay(void) /* */
- {
- int i,j;
- for(i=2000;i>0;i--)
- for(j=2000;j>0;j--);
- }
- void GPIO_Config(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
- GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_Init(GPIOB , &GPIO_InitStructure);
-
-
- GPIO_InitStructure.GPIO_Pin =GPIO_Pin_12;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
- GPIO_Init(GPIOA , &GPIO_InitStructure);
- }
- int main(void)
- {
- GPIO_Config();
- SystemInit();
- u8 ReadValue12;
- while(1)
- {
- ReadValue12= GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12 ); // ??PB.5
- if (ReadValue12=0)
- {
- GPIO_SetBits(GPIOB,GPIO_Pin_13 ); // ??PB.5
- delay();
- GPIO_ResetBits(GPIOB,GPIO_Pin_13 );// ??PB.5
- delay();
- GPIO_SetBits(GPIOB,GPIO_Pin_14 ); // ??PB.5
- delay();
- GPIO_ResetBits(GPIOB,GPIO_Pin_14 );// ??PB.5
- delay();
- GPIO_SetBits(GPIOB,GPIO_Pin_15 ); // ??PB.5
- delay();
- GPIO_ResetBits(GPIOB,GPIO_Pin_15 );// ??PB.5
- delay();
- }
- }
- }
复制代码
|