📄 lm3s-uart0.c
字号:
#include "../config.h"
#define SysCtlPeriEnable SysCtlPeripheralEnable
/* UART0初始化 */
void UART0Init(void)
{
SysCtlPeriEnable(SYSCTL_PERIPH_GPIOA); /* 使能UART0所在的GPIOA端口 */
SysCtlPeriEnable(SYSCTL_PERIPH_UART0); /* 使能UART0模块 */
GPIOPinTypeUART(GPIO_PORTA_BASE , /* 配置PA0和PA1为UART功能 */
GPIO_PIN_0 | GPIO_PIN_1);
UARTConfigSet(UART0_BASE ,
9600 , /* 波特率:9600 */
UART_CONFIG_WLEN_8 | /* 数据位:8 */
UART_CONFIG_STOP_ONE | /* 停止位:1 */
UART_CONFIG_PAR_NONE); /* 校验位:无 */
UARTEnable(UART0_BASE); /* 使能UART0端口 */
}
/* 发送字符串 */
void UART0PutS(const char *pStr)
{
char c;
for (;;) {
c = *(pStr++);
if (c == '\0') break;
UARTCharPut(UART0_BASE , c);
}
}
/* 发送多个字符,字符数量由usNum指定 */
void UART0PutN(const char *pStr , unsigned short usNum)
{
while ( usNum-- != 0 ) {
UARTCharPut(UART0_BASE , *(pStr++));
}
}
/******************************************************************************************
函数功能:接收以"\r"结尾的1行可打印字符(等待)
入口参数:usMax是接收缓冲区最大限制长度
出口参数:*pStr是接收缓冲区,只接收可打印字符(ASCII码32~127)
返 回:实际接收的字符数量
******************************************************************************************/
unsigned short UART0LineGet(char *pStr , unsigned short usMax)
{
char c;
unsigned short n = 0;
for (;;) {
c = UART0GetC();
if ( c == '\r' ) break;
if ( n < usMax ) {
if ( isprint(c) ) {
*(pStr++) = c;
n++;
}
}
}
*pStr = '\0';
return(n);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -