找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

HC-SR04超声波模块单片机程序问题,有没有大佬指导一下我的程序!

查看数: 3747 | 评论数: 12 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-5-26 18:39

正文摘要:

自己做的超声波避障小车,程序在评论里,烧录之后小车完全没反应怎么回事,求解?

回复

ID:529002 发表于 2020-6-17 16:29
为什么仿真打不开
ID:765948 发表于 2020-5-31 19:19
是程序的问题还是小车的问题
ID:711376 发表于 2020-5-29 18:49

这样串口只能执行一次,我串口是用来控制小车前进后退的,你这样执行一次之后就只会测距了,没用的
ID:711376 发表于 2020-5-29 18:47
f556 发表于 2020-5-28 16:58
中断冲突?还没听说过这种描述,中断会根据优先级进行处理

就是执行蓝牙串口通信的时候会被定时器打断,我是小白的
我已经吧问题解决了,麻烦了
ID:763590 发表于 2020-5-28 17:24
void main()
{

        UART_INIT();
        while(1)
        {
                 csb_int();      
                 if(distance<50)
           {
                   back();
                   delay1s();
             left();
           }
        }
      
      
}这个绝对没错
ID:282850 发表于 2020-5-28 16:58
中断冲突?还没听说过这种描述,中断会根据优先级进行处理
ID:711376 发表于 2020-5-27 20:00
f556 发表于 2020-5-27 14:52
在while(1)内要反复启动测距,看你只初始化,distance只有一个值

void main()
{

        UART_INIT();
        while(1)
        {
                 csb_int();       
                 if(distance<50)
           {
                   back();
                   delay1s();
             left();
           }
        }
       
       
}

我改完之后可以测距了,但是现在蓝牙的串口中断和超声波的定时器中断冲突咋办,调试的都是只能实现一个功能。。
ID:282850 发表于 2020-5-27 14:52
在while(1)内要反复启动测距,看你只初始化,distance只有一个值
ID:711376 发表于 2020-5-27 09:00
f556 发表于 2020-5-26 22:30
完全没反应?是轮子都不会转?

驱动我调过了,可以转,但就是我的小车对超声波完全没反应,我在主程序里就写了个前进,然后如果距离小于10cm就后退然后停下,但就是完全实现不了。。
ID:711376 发表于 2020-5-27 08:54
f556 发表于 2020-5-26 22:30
完全没反应?是轮子都不会转?

驱动我调过了,可以转,但就是实现不了避障,我主程序里就写了一个前进然后如果距离小于某个值时就停下来都实现不了,不知道是哪的问题
ID:282850 发表于 2020-5-26 22:30
完全没反应?是轮子都不会转?
ID:711376 发表于 2020-5-26 18:40
主程序主要就驱动小车避障
void main()
{
        //send_wave();
// UART_INIT();
        csb_int();
        forward();
        while(1)
        {
        if(distance<10)
        {
   back();
   delay1(20);
         stop();
       
         }
  }
}

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表