?? uart_getput.c
字號:
#include "UART_GetPut.H"
#include <hw_types.h>
#include <hw_memmap.h>
#include <hw_sysctl.h>
#include <hw_gpio.h>
#include <hw_uart.h>
#include <sysctl.h>
#include <gpio.h>
#include <uart.h>
#include <ctype.h>
#define PART_LM3S1138
#include <pin_map.h>
#define SysCtlPeriEnable SysCtlPeripheralEnable
/***************************************************************************************************
功能:UART收發(fā)初始化
參數(shù):無
返回:無
***************************************************************************************************/
void UART_GetPutInit(void)
{
SysCtlPeriEnable(SYSCTL_PERIPH_UART2); // 使能UART模塊
SysCtlPeriEnable(U2RX_PERIPH); // 使能RX所在的GPIO端口
GPIOPinTypeUART(U2RX_PORT , U2RX_PIN); // 配置RX所在管腳為UART功能
SysCtlPeriEnable(U2TX_PERIPH); // 使能TX所在的GPIO端口
GPIOPinTypeUART(U2TX_PORT , U2TX_PIN); // 配置TX所在管腳為UART功能
UARTConfigSet(UART2_BASE , 9600 , UART_CONFIG_WLEN_8 | // 配置UART,波特率9600,數(shù)據(jù)位8
UART_CONFIG_STOP_ONE | // 停止位1
UART_CONFIG_PAR_NONE); // 無校驗
UARTEnable(UART2_BASE); // 使能UART端口
}
/***************************************************************************************************
功能:通過UART發(fā)送1個字符
參數(shù):c是要發(fā)送的字符
返回:無
***************************************************************************************************/
void UART_Putc(const char c)
{
UARTCharPut(UART2_BASE , c);
}
/***************************************************************************************************
功能:通過UART發(fā)送字符串
參數(shù):s是要發(fā)送的字符串
返回:無
***************************************************************************************************/
void UART_Puts(const char *s)
{
char c;
for (;;)
{
c = *(s++);
if (c == '\0')
{
break;
}
UART_Putc(c);
}
}
/***************************************************************************************************
功能:通過UART接收1個字符
參數(shù):無
返回:接收到的字符
***************************************************************************************************/
char UART_Getc(void)
{
char c;
c = UARTCharGet(UART2_BASE);
return(c);
}
/***************************************************************************************************
功能:通過UART接收字符串(要求輸入的字符串以"\r\n"結(jié)尾)
參數(shù):s 保存接收數(shù)據(jù)的緩沖區(qū)(只接收可打印字符,即ASCII碼32~127)
size 接收緩沖區(qū)限制長度
返回:實際接收到的有效字符數(shù)量(字符串長度)
***************************************************************************************************/
int UART_Gets(char *s , const int size)
{
char c;
int n = 0;
for (;;)
{
c = UART_Getc(); // 接收1個字符
if ( c == '\r' ) // 如果遇到回車符,則跳出
{
break;
}
if ( n < size ) // 如果小于長度限制
{
if ( isprint(c) ) // 如果接收到的是可打印字符
{
*(s++) = c; // 保存接收到的字符到緩沖區(qū)
n++;
}
}
}
*s = '\0'; // 添加字符串結(jié)束標志
return(n); // 返回有效的字符數(shù)
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -