unsigned char MOTOR_MODE=0;//中间变量,请勿修改删除!!! void init_PWM(unsigned char Motor_Set) { MOTOR_MODE = Motor_Set; if (MOTOR_MODE==0) { //-----MOS驱动----------- pwm_init(Left_Z_Pin, 20000,0);//左轮初始化 pwm_init(Left_F_Pin, 20000,0); pwm_init(Right_Z_Pin, 20000,0);//右轮初始化 pwm_init(Right_F_Pin, 20000,0); } else { //------DRV驱动------------- pwm_init(Left_PWM_Pin, 20000,0);//左轮初始化 pwm_init(Right_PWM_Pin,20000,0);//右轮初始化 gpio_mode(P6_4,GPO_PP); // 设置DRV方向引脚为为推挽输出 gpio_mode(P6_0,GPO_PP); // 设置DRV方向引脚为为推挽输出 }
时间: 2024-02-01 14:12:08 浏览: 71
无法解析的外部符号”private: char * __cdecl cv::String::allocate(unsigned __int64)” (?allocate@String@cv@@AEAA
这段代码实现了PWM的初始化,根据MOTOR_MODE的值选择不同的驱动方式,如果是0,则使用MOS驱动,如果不是0,则使用DRV驱动。其中,Left_Z_Pin、Left_F_Pin、Right_Z_Pin、Right_F_Pin、Left_PWM_Pin和Right_PWM_Pin分别是左右轮的控制引脚,20000是PWM的频率,0是PWM的占空比。另外,函数的最开始定义了一个中间变量MOTOR_MODE,用来保存传入的参数Motor_Set,以便后续根据其值选择驱动方式。
阅读全文