⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 LM3S系列UART例程:发送FIFO工作原理
💻 C
字号:
#include  "systemInit.h"
#include  <uart.h>
#include  <systick.h>
#include  <stdio.h>


//  UART初始化
void uartInit(void)
{
    SysCtlPeriEnable(SYSCTL_PERIPH_UART2);                  //  使能UART模块
    SysCtlPeriEnable(SYSCTL_PERIPH_GPIOG);                  //  使能RX/TX所在的GPIO端口

    GPIOPinTypeUART(GPIO_PORTG_BASE,                        //  配置RX/TX所在管脚为
                    GPIO_PIN_0 | GPIO_PIN_1);               //  UART收发功能

    UARTConfigSet(UART2_BASE,                               //  配置UART端口
                  9600,                                     //  波特率:9600
                  UART_CONFIG_WLEN_8 |                      //  数据位:8
                  UART_CONFIG_STOP_ONE |                    //  停止位:1
                  UART_CONFIG_PAR_NONE);                    //  校验位:无

    UARTEnable(UART2_BASE);                                 //  使能UART端口
}


//  通过UART发送字符串
void uartPuts(const char *s)
{
    while (*s != '\0')
    {
        UARTCharPut(UART2_BASE, *s++);
    }
}


//  主函数(程序入口)
int main(void)
{
    int t1, t2;
    char s[40];

    jtagWait();                                             //  防止JTAG失效,重要!
    clockInit();                                            //  时钟初始化:晶振,6MHz
    uartInit();                                             //  UART初始化
    SysTickPeriodSet(256 * 65536);                          //  设置SysTick初值
    SysTickEnable();                                        //  使能SysTick计数

    uartPuts("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n");   //  发送字符串,隐含使用FIFO
    t1 = SysTickValueGet();                                 //  记录填充完FIFO的时刻
    while (UARTBusy(UART2_BASE));                           //  如果发送忙则等待
    t2 = SysTickValueGet();                                 //  记录真正发送完毕的时刻

    sprintf(s, "%d(us)\r\n", (t1 - t2) / 6);                //  显示间隔时间,单位:us
    uartPuts(s);

    for (;;)
    {
    }
}

⌨️ 快捷键说明

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