tao_z
2022-05-25 1044ba0d2286698d0da28112bffc0f114bef2134
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
/**
 * @file os_clock.c
 * @author Ethan.Tao (tzj0429@163.com)
 * @brief
 * @version 0.1
 * @date 2021-12-16
 *
 * @copyright Copyright (c) 2021 Äþ²¨ÕýÀÊÆû³µÁ㲿¼þÓÐÏÞ¹«Ë¾
 *
 */
#include "XL6600.h"
#include "xl_ics.h"
#include "xl_osc.h"
#include "xl_nvic.h"
#include "system_xl6600.h"
#include "os_task.h"
 
/**
 * @param SysTick Ê¹Äܶ¨Òå
 */
#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */
//#define SysTick_CTRL_ENABLE_Msk (1UL) /*<< SysTick_CTRL_ENABLE_Pos*/ /*!< SysTick CTRL: ENABLE Mask */
 
/**
 * @param SysTick ÖжÏʹÄܶ¨Òå
 */
#define SysTick_CTRL_TICKINT_Pos 1U                                /*!< SysTick CTRL: TICKINT Position */
#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */
 
void Ostick_config(void)
{
 
    uint32_t reload;
 
    /* setup systick timer for 1000Hz interrupts  */
    SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
    reload = Get_SystemCoreClock() / 1000; //ÿÃëÖӵļÆÊý´ÎÊý µ¥Î»Îªms
 
    SysTick->CTRL |= SysTick_CTRL_TICKINT_Msk; //¿ªÆôSYSTICKÖжÏ
    SysTick->LOAD = reload;                    //ÿ1msÃëÖжÏÒ»´Î
    SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;  //¿ªÆôSYSTICK
}
 
void Ostick_ReInit(void)
{
    SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk; //¿ªÆôSYSTICKÖжÏ
    SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk;  //¹Ø±ÕSYSTICK
}
 
/**
 * @brief  SysTickÖжϺ¯Êý
 * @param  None
 * @return None
 */
void SysTick_Handler(void)
{
    OS_TickFlag = 1;
}