这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » LM3S811学习笔记(Systick + GPIO )

共3条 1/1 1 跳转至

LM3S811学习笔记(Systick + GPIO )

高工
2012-11-01 14:25:51     打赏

实验内容 :滴答定时器定时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 中断源。




关键词: LM3S811     学习     笔记     Systick     中断    

院士
2012-11-01 18:41:13     打赏
2楼
不错,写得清楚,思路明晰。

楼主 加油啊~~

高工
2012-11-02 00:10:16     打赏
3楼
多谢Jobs的大力支持,感激涕零啊

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]