廢話不說,直接上代碼
我想做個,可以檢測到按鈕輸入然后繼電器輸出的案列,但是目前無法讀取地址,只能讓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();
- }
- }
- }
復制代碼
|