【望月追忆】带你入门STM32F0之二:点亮你的小灯----SysTick...
|
|
本帖最后由 upc_arm 于 2012-12-6 17:07 编辑
初始化SysTick
使得每隔1ms来一次中断
本函数实现延时 n ms- void SysTick_Delay_nms(uint32_t nms)
- {
- if (SysTick_Config(SystemCoreClock / 1000))
- {
- while(1);
- }
- TimingDelay = nms;
- while(TimingDelay != 0);
- }
复制代码 注意中断函数 前面引用- void SysTick_Handler(void)
- {
- TimingDelay_Decrement();
- }
复制代码 其中 TimingDelay_Decrement 实现在main文件中:- void TimingDelay_Decrement(void)
- {
- if (TimingDelay != 0x00)
- {
- TimingDelay--;
- }
- }
复制代码 把这个函数声明放到main.h头文件中:- #ifndef __MAIN_H
- #define __MAIN_H
- void TimingDelay_Decrement(void);
- #endif /* __MAIN_H */
复制代码 main函数
- LED_Init();
- while (1)
- {
- GPIO_SetBits(LED_PORT, LED1_PIN | LED2_PIN);
- SysTick_Delay_nms(1000);
- GPIO_ResetBits(LED_PORT, LED1_PIN | LED2_PIN);
- SysTick_Delay_nms(1000);
- }
复制代码 |
|
|
|
|
|
|
|
|
|
|
沙发
sugar-352625
发表于 2012-12-6 17:43:23
|
只看该作者
简洁有效,希望LZ坚持发文章啊。 |
|
|
|
|
|
|
|
|
|
|
板凳
青风
发表于 2012-12-6 18:23:49
|
只看该作者
这个要支持 |
|
|
我的淘宝店:http://qfv5.taobao.com/
|
|
|
|
|
|
|
|
地板
MMzhang-319191
发表于 2012-12-11 14:05:40
|
只看该作者
|
|
心中有曲自然嗨!!!
|
|
|
|
|
|
|
|
5#
repo_3007473
发表于 2012-12-19 10:54:32
|
只看该作者
|
|
|
|
|
|
|
|
|
|
6#
迷途-338195
发表于 2013-1-6 12:20:49
|
只看该作者
支持
|
|
|
|
|
|
|
|
|
|
|
7#
蝶舞娇阳
发表于 2013-12-28 12:56:46
|
只看该作者
|
|
|
|
|
|
|
|