实验内容 :滴答定时器定时500Ms产生中断,在中断函数中使PE0所接的LED以0.1s周期闪烁
实验目的:熟悉滴答定时器的参数配置,GPIO管脚的高低电平操作。此滴答定时器常用于短时间的延时函数
//#include "main.h"
#include "inc\hw_memmap.h"
#include "inc\hw_ints.h"
#include "inc\hw_types.h"
#include "driverlib\sysctl.h"
#include "driverlib\gpio.h"
#include "driverlib\interrupt.h"
#include "driverlib\systick.h"
#include "type.h"
void ProtectJTAG(void)
{  
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
  GPIOPadConfigSet(GPIO_PORTC_BASE, GPIO_PIN_4, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);//2MA驱动能力,推挽方式 弱上拉
  GPIODirModeSet(GPIO_PORTC_BASE, GPIO_PIN_4, GPIO_DIR_MODE_IN);
  while(GPIOPinRead(GPIO_PORTC_BASE, GPIO_PIN_4) == 0)
  {
    ;
  }  
}
void Delay(void)  //延时100Ms
{
  unsigned long i,j;
  
  for(i=0;i<10;i++)
  { 
    for(j=500000;j>0;j--);
  }
}
void Systick_Init(void)
{
   SysTickPeriodSet(500*SysCtlClockGet()/1000);//定时时钟为500mS
   SysTickEnable();//使能系统时钟
   SysTickIntEnable();//使能系统时钟中断   
}
void GpioLedBlink(void)  //PE0闪烁
{
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); 
  GPIODirModeSet(GPIO_PORTE_BASE,GPIO_PIN_0,GPIO_DIR_MODE_OUT);
  
  GPIOPinWrite(GPIO_PORTE_BASE,GPIO_PIN_0,0x01);
  Delay();
  
  GPIOPinWrite(GPIO_PORTE_BASE,GPIO_PIN_0,~0x01);
  Delay();  
}
void SysTick_ISR(void)//定时器中断处理函数
{
  GpioLedBlink();
}
void main(void)
{
  ProtectJTAG();
    
  SysCtlClockSet( SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
                    SYSCTL_XTAL_6MHZ );
  
  Systick_Init();
  
  while(1)
  {
  }
}
/*******************************************************************
**关于SysCtlDelay(ulcount),滴答定时器用作延时函数的说明,
**ulcount:延时周期计数 值,
**延时长度=3*ulcount*系统时钟周期。
*******************************************************************/
滴答定时器的中断无需清除,在调用其中断函数的时候系统会自动的清除起中断标志。在初始化时只需要设定其定时时间,打开相应的中断控制位
SysTick 的主要目的是为 RTOS 提供一个周期性中断,而它也可以用作其它简单定时目的。SysTick 中断处理程序并不需要清除 SysTick 中断源。当调用 SysTick 中断处理程序时,它将会由 NVIC 自动清除 SysTick 中断源。

 
					
				
 
			
			
			
						
			 
					
				 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

