#include "gd32e23x.h" #include #include "gpio.h" #include "adc.h" #include "pwm.h" #include "uart.h" #include "clock.h" #include "motor.h" #include "bldc_ctrl.h" #include "bsp_pid.h" #include "os_task.h" #include "RttTask.h" #include "SEGGER_RTT_Conf.h" #include "SEGGER_RTT.h" static void Comm_Task(void *p) { // static uint16_t test_cnt = 0; // ++test_cnt; // if (test_cnt == 15) // { // timer_channel_output_mode_config(TIMER0, MOTOR_OUT_CH_W, TIMER_OC_MODE_PWM0); // timer_channel_output_state_config(TIMER0, MOTOR_OUT_CH_W, TIMER_CCX_ENABLE); // } // else if (test_cnt > 30) // { // test_cnt = 0; // timer_channel_output_state_config(TIMER0, MOTOR_OUT_CH_W, TIMER_CCX_DISABLE); // } } int main() { OS_TASK_MSG task_queue[8] = {0}; InitOSTaskQueue(task_queue, 8); Clock_Config(); GPIO_Init(); TimerInit(); UartInit(); ADC_Init(); Motor_Init(); bldcm_init(); PID_param_init(); RTT_TaskInit(); Ostick_config(); OSTaskCreate(&Comm_Task, 10, 7, NULL); OSTaskCreate(&RTT_Task10ms, 1000, 7, NULL); OSSchedule(&OS_GetTick); while (1) ; return 0; }