void SearchRun(void) { if(SEARCH_L_IO == WHITE_AREA && SEARCH_R_IO == WHITE_AREA) ctrl_comm = COMM_UP; else if (SEARCH_L_IO == BLACK_AREA && SEARCH_R_IO == WHITE_AREA) ctrl_comm = COMM_LEFT; else if (SEARCH_R_IO == BLACK_AREA & SEARCH_L_IO == WHITE_AREA) ctrl_comm = COMM_RIGHT; else ctrl_comm = COMM_STOP; switch(ctrl_comm) { case COMM_UP: ZYSTM32_run(50,10);break; case COMM_DOWN: ZYSTM32_back(50,10);break; case COMM_LEFT: ZYSTM32_Left(50,10);break; case COMM_RIGHT: ZYSTM32_Right(50,10);break; case COMM_STOP: ZYSTM32_brake(10);break; default : break; } }
时间: 2023-08-30 17:08:16 浏览: 177
avr.rar_5秒延时_io中断 流水灯
这是一个名为SearchRun的函数,它没有参数。函数的功能是根据一些IO输入的状态执行相应的操作。
函数内部首先通过条件判断语句来确定ctrl_comm的值。根据SEARCH_L_IO和SEARCH_R_IO的状态,可能的取值有COMM_UP、COMM_LEFT、COMM_RIGHT和COMM_STOP。
接着,使用switch语句根据ctrl_comm的值来执行相应的操作。每个case语句对应一个操作,分别调用ZYSTM32_run、ZYSTM32_back、ZYSTM32_Left、ZYSTM32_Right和ZYSTM32_brake函数来控制电机的运动。这些函数的参数为速度和时间。
最后,默认情况下什么都不做。
请注意,这只是函数的定义部分,实际上函数内部的具体实现可能需要根据具体的硬件平台和编程环境进行调整。
阅读全文