tao_z
2021-04-11 6d4ddf7d2a2cd72c58876257700b34c63e5063d3
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "os_task.h"
#include "cpu.h"
#include "wtd.h"
 
/*驱动层头文件*/
#include "gpio.h"
#include "pwm.h"
//#include "adc.h"
#include "uart.h"
/*数据抽象层头文件*/
 
/*系统基本函数定义*/
static void SystemConfig(void);
static void BSP_Config(void);
static void Init(void);
/*定义任务*/
 
static void WatchDogThread(void *p)
{
    WatchDogService();
}
 
static void Test_10msThread(void *p)
{
    static uint16_t i = 0;
    putchar(++i);
}
 
static void Test_1msThread(void *p)
{
    GPIO_SetSDH2136Disbale();
}
 
void main(void)
{
 
    OS_TASK_MSG task_queue[6] = {0};
    InitOSTaskQueue(task_queue, 6);
 
    SystemConfig(); /*配置最小系统和OS时钟*/
    BSP_Config();   /*底层硬件初始化*/
 
    Init(); /*初始化应用层和数据抽象层*/
    enableInterrupts();
    OSTaskCreate(Test_10msThread, 1000, 1, NULL);
    OSTaskCreate(WatchDogThread, 10, 3, NULL); /*喂狗任务*/
    OSTaskCreate(Test_1msThread, 1, 1, NULL);  /*1ms测试任务*/
    OSSchedule(TickTime);
}
 
/* User can add his own implementation to report the file name and line number,
   ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* Infinite loop */
void assert_failed(uint8_t *file, uint32_t line)
{
    while (1)
        ;
}
 
void SystemConfig(void)
{
    /*配置芯片最小系统:系统时钟配置*/
    CLK_Config(); /*配置时钟*/
    WatchDogConfig();
    OSTimer_Config(); /*配置OStimer 1ms基准*/
}
 
void BSP_Config(void)
{
    /*底层硬件驱动,硬件抽象层配置*/
    GPIO_Config();
    // ADC_Init(); /*配置ADC*/
    PWM_Config();
    InitUart();
    // HAL_Init();
}
 
void Init(void)
{
    // InitUart();
}