STM32ZET6开发板接HC-SR505

2019-07-21 06:00发布

是程序上不对吗,怎么IO一直检测到输入的是高电平,不接HC-SR505还是高电平,求指导

#include "stm32f10x.h"
#include "delay.h"

#define LED_PIN GPIO_Pin_5
#define HC_PIN  GPIO_Pin_7

void LED_GPIO_Config(void);
void HC_GPIO_Config(void);
int main(void)
{
        u8 a=0;
        delay_init(72);
        LED_GPIO_Config();
        HC_GPIO_Config();
        GPIO_SetBits(GPIOB, LED_PIN);
        while(1)
        {
                a=GPIO_ReadInputDataBit(GPIOC, HC_PIN);
                if(a==1)
                {
                        delay_ms(1000);
                        if(a==1)
                        {
                                GPIO_ResetBits(GPIOB, LED_PIN);
                        }
                }
                delay_ms(3000);
                GPIO_SetBits(GPIOB, LED_PIN);
        }
}
void LED_GPIO_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
       
        GPIO_InitStructure.GPIO_Pin=LED_PIN;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_OD;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
}

void HC_GPIO_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
       
        GPIO_InitStructure.GPIO_Pin=HC_PIN;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;
        GPIO_Init(GPIOC, &GPIO_InitStructure);
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。