You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32F407裸机驱动HC-SR04无响应问题排查求助

HC-SR04与STM32F407 Discovery裸机对接问题排查

尝试用裸机编程将HC-SR04超声波传感器与STM32F407 Discovery板对接,但传感器无响应:对Trig引脚输入的10us脉冲没有反应,通过外部中断检测Echo引脚输入时,中断完全未触发。

以下是使用的代码:

#include "stm32f4xx.h"
void GPIO_init(void);
void EXTI_init(void);
void TIM2_init(void);
void usdelay(int);
void msdelay(int);
int main(){
    GPIO_init();
    TIM2_init();
    EXTI_init();
    while(1){
        GPIOC -> ODR &= ~(1<<7);
        usdelay(2);
        GPIOC -> ODR |= (1<<7);
        usdelay(10);
        GPIOC -> ODR &= ~(1<<7);
        msdelay(50);
    }
}

void GPIO_init(void){
    RCC -> CFGR &= ~(0x908FUL);
    RCC -> AHB1ENR |= (0x3<<2);
    GPIOC -> MODER |= (0x1<<14);
    GPIOC -> MODER &= ~(0x3<<12);
    GPIOD -> MODER |= (0x1<<28);
    GPIOD -> OTYPER &= ~(0x1<<14);
    GPIOC -> OTYPER &= ~(0x3<<6);
    GPIOD -> PUPDR |= (0x2<<28);
    GPIOC -> PUPDR |= (0xA<<12);
}

void TIM2_init(void){
    RCC -> APB1ENR |= (0x1);
    TIM2 -> CR1 &= ~(0x0010);
    TIM2 -> PSC = 0;
    TIM2 -> ARR = 4;
    TIM2 -> SR &= ~(0x01);
}

void EXTI_init(void){
    RCC -> APB2ENR |= (0x1<<14);
    SYSCFG -> EXTICR[1] |= (0x2<<8);
    EXTI -> IMR |= (0x1<<6);
    EXTI -> RTSR |= (0x1<<6);
    EXTI -> FTSR |= (0x1<<6);
    NVIC -> ISER[0] |= (0x1<<23);
}

void usdelay(int x){
    TIM2 -> ARR = 4*x;
    TIM2 -> CNT = 0;
    TIM2 -> CR1 |= 0x01;
    while(!(TIM2 -> SR & (0x01)));
    TIM2 -> CR1 &= ~(0x01);
    TIM2 -> SR &= ~(0x01);
}

void msdelay(int x){
    TIM2 -> ARR = 4000*x;
    TIM2 -> CNT = 0;
    TIM2 -> CR1 |= (0x1);
    while(!(TIM2 -> SR & (0x1)));
    TIM2 -> CR1 &= ~(0x1);
    TIM2 -> SR &= ~(0x1);
}

void EXTI9_5_IRQHandler(){
    EXTI -> PR |= (1<<6);
    GPIOD -> ODR ^= (1<<14);

}

已排除接线、供电问题:用Arduino测试后,传感器、连接以及STM32的供电均正常。曾怀疑是时钟配置问题,默认APB1ENR寄存器无预分频时为16MHz时钟,尝试过示例代码但仍无法解决。

问题解决:将中断改为PA0、输出改为PC0后问题解决,输入捕获方法也能正常工作。

内容的提问来源于stack exchange,提问作者Shardul Sajnekar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 15:15:59