毕延吉 发表于 2016-5-21 23:21:06

超生波模块,实在不知错误出在哪里,请大家帮忙指点

uint8 ultrasound_capture(void)
{
    uint16 t_chcnt = 0;
    trig = 1;
    delay_15us();
    trig = 0;
    while((!echo)&&(t_chcnt <= 7000)) {
    t_chcnt++;
    }
    if(t_chcnt <= 7000) {
    return 1;
    }
    return 0;   
}
这个是我检测超生波回波响应信号的函数,感觉很简单,没什么问题,可是串口返回来的都是0;那就证明没检测着对吧;
int main(void)
{
    trig = 0;
    echo = 0;
    usart_init();
    while(1) {
    SBUF=ultrasound_capture();
    Delay1000ms();   
    while(!TI);
    TI = 0;
    }
    return 0;
}

毕延吉 发表于 2016-5-22 07:34:16

为什么回波检测,没有响应{:mad:}

毕延吉 发表于 2016-5-22 09:08:08

问题以自己解决,就是把echo对应的io口调成输入模式,可是我记得8051的单片机在准双向io口模式下是可以检测电平的,为什么12c5a就不行那
{:mad:}
页: [1]
查看完整版本: 超生波模块,实在不知错误出在哪里,请大家帮忙指点