This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

清华大学TM4C123微处理器原理与实践例程-LED实验程序解析



//LED实验程序解析
//头文件
#include <stdint.h>
#include <stdbool.h>
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/rom.h"
#include "driverlib/gpio.h"
#include "driverlib/fpu.h"
#include "driverlib/pin_map.h"

int main (void)
{
  //使能FPU
  FPUEnable();
  FPULazyStackingEnable();
  //设置系统时钟为50MHz (400/2/4=50)
  SysCtlClockSet(SYSCTL_SYSDIV_4 |SYSCTL_USE_PLL 
|SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);
  //使能相关的外设
  ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
 //配置PG2为输出
 ROM_GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE,GPIO_PIN_2);

while(1)
{
	//翻转LED,延时时间为250ms
	//延时 = (SysCtlClockGet()/12)*(3/SysCtlClockGet())=0.25s
	ROM_GPIOPinWrite(GPIO_PORTG_BASE,GPIO_PIN_2, GPIO_PIN_2);
	ROM_SysCtlDelay(SysCtlClockGet()/12);
	ROM_GPIOPinWrite(GPIO_PORTG_BASE,GPIO_PIN_2, 0);
	ROM_SysCtlDelay(SysCtlClockGet()/12);
}
}