Systick時鐘定時

主函數函數

 1 /* Note:Your choice is C IDE */
 2 #include "stdio.h"
 3 #include "led.h"
 4 void main()
 5 {
 6    SystemInit();//初始化系統,使得系統頻率爲72兆
 7    systick_init();//配置Systick,使得1ms產生中斷
 8    led_gpio_init();
 9    while(1)
10    {
11    
12    GPIO_Setbits(GPIO,GPIO_Pin_15);
13    delay_ms(1000);//延時
14    GPIO_ResetBits(GPIO,GPIO_Pin_15);
15    delay_ms(1000);
16    }
17 }

time函數ui

 1 /* Note:Your choice is C IDE */
 2 #include "stdio.h"
 3 /*
 4 *第一步:配置系統時鐘 void SystemInit(void)
 5 *配置Systick  core_cm3.h
 6 *寫SysTick中斷處理函數
 7 *編寫delay延遲函數
 8 */
 9 
10 _IO uint32_t TimeDelay;
11 
12 void systick_init(void)
13 {
14     //配置Systick重載值,系統時鐘爲72MHz
15     //設置72000,中斷時間;72000*(1/72000000)=1ms
16     
17     if(SysTick_confing(72000)==1)
18     {
19         while(1);
20     }
21     /*
22     while(Systick_confing(72000)==1)
23     */
24 }
25 //中斷函數
26 void TimingDelay_Decrement(void)
27 {
28     if(TimingDelay!=0x00)
29     {
30         TimingDelay--;    
31     }
32 }
33 
34 void sysTick_Handle()
35 {
36     
37 }
38 
39 //第四步
40 void delay_ms(_IO uint32_t nTime)
41 {
42     TimingDelay=ntime;//時鐘滴答
43     while(TimingDelay!=0);
44 }

 

1 #ifndef _TIMER_H_
2 #define _TIMER_H_
3 #include "stm32f10x.h"
4 
5 
6 extern _IO uint32_t TimingDelay;//生命外面的變量
7 void systick_init(void);
8 void delay_ms(_IO uint32_t nTime)
9 #endif
相關文章
相關標籤/搜索