您的位置 首页 编程

STM32 SysTick根据3.5库函数

includestm32f10xhincludeledhincludestdioh>*******************************************************

#include “stm32f10x.h”

#include “led.h”
#include

/***********************************************************************
***********************************************************************/
static __IO uint32_t TimingDelay;

/***********************************************************************
***********************************************************************/

void delay(__IO uint32_t nTime);
void TimingDelay_Decrement(void);

/***********************************************************************
************************************************************************/

main()
{

if (SysTick_Config(SystemCoreClock / 100)) //10000为100mS,1000为10mS,100为1mS,进入一次守时器中止
{
/* Capture error */
while (1);
}

LED_Init();

while(1)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_SET);
GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_RESET);
delay(100);
GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_RESET);
GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_SET);
delay(100);
}
}
//PA8和PD2的LED0 AND LED1 每一秒替换亮灭
/*****************************************************************************
*****************************************************************************/
/**
* 推迟SysTick守时时刻 nTime * 1mS
*/
void delay(__IO uint32_t nTime)
{
TimingDelay = nTime;

while(TimingDelay != 0);
}

/**
* SysTick守时(守时器中止函数在stm32f10x_it.c里的SysTick_Handler,且调用本程序)
* if (SysTick_Config(SystemCoreClock / 100))设置为1mS进入一次本程序
*/
void TimingDelay_Decrement(void)
{
if (TimingDelay != 0x00)
{
TimingDelay–;
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/317550.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部