按键一/二控制速度v,且按键一按一下v--(最小减到-5),按键二按一下v++(最大,加到5);
按键三/四控制转向n,且按键三按一下n--(最小减到-5),按键四按一下n++(最大加到5),当v+n的结果位于(-3,3)时,motor1以及motor2=0;
当位于(3,10)时,motor1=1,motor2=0;
当位于(-3,-10)时,motor1=0,motor2=1;

有关单片机的程序!!各位朋友!
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- xanadw 2022-05-09 19:40关注
void controlFunc() { int v = 0; int n = 0; int button1 = 0; int button2 = 0; int button3 = 0; int button4 = 0; int motor1 = 0; int motor2 = 0; while(1) { button1 = ;//状态更新 button2 = ;//状态更新 button3 = ;//状态更新 button4 = ;//状态更新 if (button1) { v = v > -5 ? v-- : -5; } else if (button2) { v = v < 5 ? v++ : 5; } if (button3) { n = n > -5 ? n-- : -5; } else if (button4) { n = n < 5 ? n++ : 5; } if (-10 <= v+n && v+n < -3) { motor1 = 0; motor2 = 1; } else if (v+n < 3) { motor1 = 0; motor2 = 0; } else { motor1 = 1; motor2 = 0; } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报