目录
GPIO 输出——点亮 RGB LED
#include "stdint.h"
#include "stdbool.h"
#include "inc\tm4c123gh6pm.h"
#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#define G_LED GPIO_PIN_1
#define B_LED GPIO_PIN_2
#define R_LED GPIO_PIN_3
//1.系统时钟分频值
//
//SYSCTL_SYSDIV_1 // 振荡器不分频(不可用于PLL)
//SYSCTL_SYSDIV_2 // 振荡器 2分频(不可用于PLL)
//SYSCTL_SYSDIV_3 // 振荡器 3分频(不可用于PLL)
//SYSCTL_SYSDIV_4 // 振荡器 4分频,或对PLL的分频结果为50MHz
//SYSCTL_SYSDIV_5 // 振荡器 5分频,或对PLL的分频结果为40MHz
//SYSCTL_SYSDIV_64 // 振荡器64分频,或对PLL的分频结果为3.125MHz Sandstorm家族最大分频数只能取到16,也就是811系列只能分频到16
//2.使用OSC还是PLL
//
//SYSCTL_USE_PLL // 采用锁相环PLL作为系统时钟源
//SYSCTL_USE_OSC // 采用OSC(主振荡器或内部振荡器)作为系统时钟源
//
//3.OSC时钟源选择
//
//SYSCTL_OSC_MAIN // 主振荡器作为OSC
//SYSCTL_OSC_INT // 内部12MHz振荡器作为OSC
//SYSCTL_OSC_INT4 // 内部12MHz振荡器4分频后作为OSC
//SYSCTL_OSC_INT30 // 内部30KHz振荡器作为OSC
//SYSCTL_OSC_EXT32 // 外接32.768KHz有源振荡器作为OSC
//
//4.外接晶体频率
//
//SYSCTL_XTAL_1MHZ // 外接晶体1MHz
//SYSCTL_XTAL_1_84MHZ // 外接晶体1.8432MHz
//SYSCTL_XTAL_2MHZ // 外接晶体2MHz
//SYSCTL_XTAL_2_45MHZ // 外接晶体2.4576MHz
//SYSCTL_XTAL_3_57MHZ // 外接晶体3.579545MHz
//SYSCTL_XTAL_3_68MHZ // 外接晶体3.6864MHz
//SYSCTL_XTAL_4MHZ // 外接晶体4MHz
//SYSCTL_XTAL_4_09MHZ // 外接晶体4.096MHz
//SYSCTL_XTAL_4_91MHZ // 外接晶体4.9152MHz
//SYSCTL_XTAL_5MHZ // 外接晶体5MHz
//SYSCTL_XTAL_5_12MHZ // 外接晶体5.12MHz
//SYSCTL_XTAL_6MHZ // 外接晶体6MHz
//SYSCTL_XTAL_6_14MHZ // 外接晶体6.144MHz
//SYSCTL_XTAL_7_37MHZ // 外接晶体7.3728MHz
//SYSCTL_XTAL_8MHZ // 外接晶体8MHz
//SYSCTL_XTAL_8_19MHZ // 外接晶体8.192MHz
//SYSCTL_XTAL_10MHZ // 外接晶体10MHz
//SYSCTL_XTAL_12MHZ // 外接晶体12MHz
//SYSCTL_XTAL_12_2MHZ // 外接晶体12.288MHz
//SYSCTL_XTAL_13_5MHZ // 外接晶体13.56MHz
//SYSCTL_XTAL_14_3MHZ // 外接晶体14.31818MHz
//SYSCTL_XTAL_16MHZ // 外接晶体16MHz
//SYSCTL_XTAL_16_3MHZ // 外接晶体 16.384MHz 5.振荡源禁止
//SYSCTL_INT_OSC_DIS // 禁止内部振荡器
//SYSCTL_MAIN_OSC_DIS // 禁止主振荡器 振荡源禁止
//SYSCTL_INT_OSC_DIS // 禁止内部振荡器
//SYSCTL_MAIN_OSC_DIS // 禁止主振荡器
void main(void)
{
//设置系统时钟为50M,从pll晶振产生
SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN);
//使能GPIOF
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
//设置端口为输出
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, R_LED | G_LED | B_LED);
while(1)
{
GPIOPinWrite(GPIO_PORTF_BASE, R_LED | G_LED | B_LED, R_LED);
SysCtlDelay(200000);
SysCtlDelay(200000);
SysCtlDela