/******************** (C) COPYRIGHT 2023 GeekRebot ***************************** * File Name : bsp_sys.c * Current Version : V1.0 & ST 3.5.0 * Author : zhanli 719901725@qq.com * Date of Issued : 2023.04.06 zhanli: Create * Comments : 初始化所有外设 ********************************************************************************/ #include "bsp_sys.h" /**---------------------------------------------------------------------- * Function : System_Init * Description : GeekRebot外设初始化 * Author : zhanli&719901725@qq.com * Date : 2023/04/22 zhanli *---------------------------------------------------------------------**/ void System_Init(void) { Delay_Init(72); // 滴答时钟初始化 NVIC_Config(); // 中断配置配置初始化 LED_GPIO_Config(); // LED初始化 USART1_Init(115200); // 串口初始化 IIC_Init(); // IIC模拟初始化 MOTO_GPIO_Init(); // 电机驱动IO配置 MOTO_PWM_Init(3599,0); // 电机的PWM频率初始化20KHz OLED_Init(); OLED_Clear(); OLED_ShowCHinese(0,0,2); // 显示汉字 车 OLED_ShowCHinese(16,0,3); // 显示汉字 速 OLED_ShowString(88,0,(u8*)"m/min",16); // OLED第一行显示整体车速 单位m/min OLED_ShowString(0, 2,(u8*)"Left : RPM",12); // 显示左轮转 R单位RPM 表示每分钟车轮的圈数 OLED_ShowString(0, 3,(u8*)"Right: RPM",12); // 显示右轮转 R单位RPM 表示每分钟车轮的圈数 OLED_ShowString(0, 4,(u8*)"P: I: D: ",16); // 显示PID参数 OLED_ShowString(0, 6,(u8*)"Set_C: RPM",12); // 显设置的车轮转速单位RPM OLED_ShowString(0, 7,(u8*)"Set_P: m/min",12); // 显设置的车轮转速单位RPM Encoder_Init_TIM2(); TIM2 -> CNT=30000; Encoder_Init_TIM4(); TIM4 -> CNT=30000; MOTO_PWM_Out(100, 100); Timer6_Init(); //最后启动定时器6 Delay_ms(100); //等待初始化完成 int Moto_Left=500; int Moto_Right=500; TIM3->CCR3 = Moto_Left; //更新pwm TIM3->CCR4 = Moto_Right; //更新pwm }