systick.c

来自「关于ARM中的SysTick定时器的应用 的一个程序 非常实用」· C语言 代码 · 共 58 行

C
58
字号
/****************************************Copyright (c)**************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.embedtools.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name:           systick.c
** Last modified Date:  2006-11-15 
** Last Version:        v1.0
** Description:         Stellaris????? ??????????
** 
**------------------------------------------------------------------------------------------------------
** Created By:          Zhou Lishan
** Created date:        2006-11-15 
** Version:             v1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:         Kang qinhua
** Modified date:       2008.01.18
** Version:             v1.1
** Description:
**
********************************************************************************************************/
#include "hw_memmap.h"
#include "hw_types.h"
#include "hw_ints.h"
#include "gpio.h"
#include "interrupt.h"
#include "sysctl.h"
#include "systick.h"

#define LED1 GPIO_PIN_7                //定义GPIO PD7为驱动LED1;

int main(void)
{
  
  SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_6MHZ);//设置系统时钟为6MHZ
 
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);//使能GPIO PD 模块

  GPIODirModeSet(GPIO_PORTD_BASE,LED1,GPIO_DIR_MODE_OUT);//设置GOID 为输出驱动LED1;

  IntMasterEnable();//使能总中断
  SysTickPeriodSet(6000000);//设置定时时钟周期;
  SysTickEnable();//使能系统节拍定时器 
  SysTickIntEnable();;//使能系统节拍定时器中断;


  while(1);
}

void SysTick_ISR(void)
{
  GPIOPinWrite(GPIO_PORTD_BASE,LED1,~GPIOPinRead(GPIO_PORTD_BASE,LED1));//改变LED1状态;?????????取反
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?