打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
STM32 SysTick基于3.5库函数

 

#include "stm32f10x.h"
#include "led.h"
#include <stdio.h>

/***********************************************************************
***********************************************************************/
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--;
  }
}

 
  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
关于STM32的systick定时器的详细说明
STM32入门学习之systick定时器
STM32 入门教程 系统时钟 SysTick
单片机系统的运行时间如何获取?
STM32F407 Systick 笔记整理
STM32菜鸟成长记录
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服