一、小车运行
1.PWM初始化函数 (pwm.c中编写)
包括四个轮子PWM通道使用的GPIO接口初始化、定时器初始化、PWM通道初始化。
void PWM_Init(uint16_t arr,uint16_t psc);
2.PWM占空比设置函数 (pwm.c中编写)
此函数调用了四个通道设置占空比的函数,作用是方便修改四个轮子的占空比。
void Set_PWM(int motor1,int motor2,int motor3,int motor4);
二、小车巡线
1.红外传感器端口初始化函数
7路数字循迹的7个红外使用的GPIO端口初始化。
void Infrared_Init(void)
2.巡线控制函数
根据7路红外回传的信号进行判断,并改变PWM占空比值,从而改变小车左右两侧轮子转速,将行驶中的小车位置调正。
void LinePatrol(int16_t StdSpeed,uint8_t flag)
例如:当小车如左图“行驶中位置偏移时”,巡线控制函数就会改变相应轮子的占空比,使左侧两轮速度加快,右侧两轮速度减慢,将小车位置调正,如右图。