system_stm32f10x.c的系统频率定义
/*******************************************************************************
* Clock Definitions
*******************************************************************************/
#ifdef SYSCLK_FREQ_HSE
uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_24MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_36MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_48MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_56MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */
#elif defined SYSCLK_FREQ_72MHz
uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */
#else /*!< HSI Selected as System Clock source */
uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */
#endif
SysTick_config函数的使用
首先SysTick_Config(1)=1/72000000s,则
SysTick_Config(SystemCoreClock/1000);
//一般在main函数的开头
以上设置代表每1ms运行一次中断服务函数,中断服务函数的内容可以根据自己的代码功能来编写。
stm32f10x_it.c中的中断服务函数:
extern u32 key_TimingDelay;
extern u8 data_storage_flag;
extern u32 frequency;
extern u32 _24c02_TimingDelay;
void SysTick_Handler(void)
{
TimingDelay--;
key_TimingDelay--;
_24c02_TimingDelay--;
frequency--;
//if(freq_adc--){ flag_adc_value = 1; }
if(frequency==0)
{
data_storage_flag=1;
//frequency=20;
}
}