×
单片机 > 单片机程序设计 > 详情

LM3S9B96 UART打印字符串功能

发布时间:2020-06-04 发布时间:
|
调试的时候,可以观察某个变量的值,前提是需要用JLINK进行调试。其实,程序全速运行时,可以看某个变量值是多少。这就用到UART的打印字符串的功能。
1. UARTprintf函数:这与C语言中的printf函数类似,可以输出一个字符串,可以格式化输出一个变量的数值。用法如下:

UARTprintf("Uart2 is ready -> "); // 输出一句话

char test = 14;
UARTprintf("test is %d ", test); // 按十进制格式输出变量test的值

2. 下面是一个UART2打印功能的例子:

 


#include "inc/hw_memmap.h"
#include "inc/hw_types.h"

#include "driverlib/gpio.h"
#include "driverlib/uart.h"
#include "utils/uartstdio.h"
#include "driverlib/sysctl.h"

/* 寄存器地址 ---------------------------------------------------------------*/
#define GPIO_PORTJ_APB_DIR_R 0x4003D400
#define GPIO_PORTJ_APB_DEN_R 0x4003D51C
#define GPIO_PORTJ_APB_PUR_R 0x4003D510
#define SYSCTL_RCGC2_R 0x400FE108

//*****************************************************************************
//
// 延时函数
//
//*****************************************************************************
void Delay(volatile signed long nCount)
{
for(; nCount != 0; nCount--);
}

//*****************************************************************************
//
// This function sets up UART2 to be used for a console to display information
// as the example is running.
//
//*****************************************************************************
void InitConsole(void)
{
// Enable GPIO port D which is used for UART2 pins.
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);

// Select the alternate (UART) function for these pins.
GPIOPinTypeUART(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1);

// Configure the pin muxing for UART0 functions on port A0 and A1.
// This step is not necessary if your part does not support pin muxing.
GPIOPinConfigure(GPIO_PD0_U2RX);
GPIOPinConfigure(GPIO_PD1_U2TX);

// Initialize the UART for console I/O.
UARTStdioInit(2);

UARTprintf("Uart2 is ready -> ");
}


//*****************************************************************************
//
// 主函数
//
//*****************************************************************************
int main(void)
{
// Set the clocking to run directly from the crystal.
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);

InitConsole(); // UART2初始化

char test = 14;

UARTprintf("test is %d ", test);

while (1)
{
}
}

 



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机中断源的扩展方法