1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
| #include "gd32e23x.h"
| #include <stdio.h>
| #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;
| }
|
|