为什么仿真打不开 |
是程序的问题还是小车的问题 |
aweiweiwei1 发表于 2020-5-28 17:24 这样串口只能执行一次,我串口是用来控制小车前进后退的,你这样执行一次之后就只会测距了,没用的 ![]() |
f556 发表于 2020-5-28 16:58 就是执行蓝牙串口通信的时候会被定时器打断,我是小白的 ![]() 我已经吧问题解决了,麻烦了 |
void main() { UART_INIT(); while(1) { csb_int(); if(distance<50) { back(); delay1s(); left(); } } }这个绝对没错 |
中断冲突?还没听说过这种描述,中断会根据优先级进行处理 |
f556 发表于 2020-5-27 14:52 void main() { UART_INIT(); while(1) { csb_int(); if(distance<50) { back(); delay1s(); left(); } } } 我改完之后可以测距了,但是现在蓝牙的串口中断和超声波的定时器中断冲突咋办,调试的都是只能实现一个功能。。 |
在while(1)内要反复启动测距,看你只初始化,distance只有一个值 |
f556 发表于 2020-5-26 22:30 驱动我调过了,可以转,但就是我的小车对超声波完全没反应,我在主程序里就写了个前进,然后如果距离小于10cm就后退然后停下,但就是完全实现不了。。 |
f556 发表于 2020-5-26 22:30 驱动我调过了,可以转,但就是实现不了避障,我主程序里就写了一个前进然后如果距离小于某个值时就停下来都实现不了,不知道是哪的问题 |
完全没反应?是轮子都不会转? |
主程序主要就驱动小车避障 void main() { //send_wave(); // UART_INIT(); csb_int(); forward(); while(1) { if(distance<10) { back(); delay1(20); stop(); } } } |