#include <stdint.h>
#include <stdbool.h>
#include "inc/tm4c123gh6pm.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#define uchar unsigned char
#define uint unsigned int
uint8_t ui8PinData=2;
void delay_Nms(uint n)
{
uint i = 0;
for(i = n;i > 0;i--)
SysCtlDelay(SysCtlClockGet() / 3000);
}
int main(void)
{
SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
//5分频,使用PLL,外部晶振16M,system时钟源选择 main osc。系统时钟40MHZ
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);//使能GPIO外设
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
//GPIO挂APB总线;输出1,2,3引脚
while(1)
{
GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, ui8PinData);
//GPIO1,2,3位写入2
delay_Nms(100);//延时
//delay_Nnop(1);
GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, 0x00);
//GPIO1,2,3位写入0
delay_Nms(1000);
//delay_Nnop(1);
if(ui8PinData==8) {ui8PinData=2;} else {ui8PinData=ui8PinData*2;}
//3种颜色循坏亮灭,2红,4蓝,8绿,代表三种颜色
//三灯同时点亮,白光
}
}
|