标题: 三灯同时点亮,白光 代码 [打印本页]

作者: 977456    时间: 2017-5-23 15:35
标题: 三灯同时点亮,白光 代码
#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绿,代表三种颜色
                //三灯同时点亮,白光
        }
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1