RobotHardware-UESTC/Hardware/Firmware/GeekRobotTiny_Firmware v1.0/DRV/bsp_sys.c

54 lines
2.1 KiB
C

/******************** (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
}