最近在调试 串口部分,始终没调通,请高手看看怎么回事
#include "systemInit.h"
#include <uart.h>
// UART初始化
void uartInit(void)
{
SysCtlPeriEnable(SYSCTL_PERIPH_UART0); // 使能UART模块
SysCtlPeriEnable(SYSCTL_PERIPH_GPIOA); // 使能RX/TX所在的GPIO端口
GPIOPinTypeUART(GPIO_PORTA_BASE, // 配置RX/TX所在管脚为
GPIO_PIN_0 | GPIO_PIN_1); // UART收发功能
UARTConfigSet(UART0_BASE, // 配置UART端口
9600, // 波特率:9600
UART_CONFIG_WLEN_8 | // 数据位:8
UART_CONFIG_STOP_ONE | // 停止位:1
UART_CONFIG_PAR_NONE); // 校验位:无
UARTEnable(UART0_BASE); // 使能UART端口
}
// 通过UART发送字符串
void uartPuts(const char *s)
{
while (*s != ' ')
{
UARTCharPut(UART0_BASE, *(s++));
}
}
// 主函数(程序入口)
int main(void)
{
char c;
jtagWait(); // 防止JTAG失效,重要!
clockInit(); // 时钟初始化:晶振,6MHz
uartInit(); // UART初始化
uartPuts("hello, please input a string:
");
while(1)
{
c = UARTCharGet(UART0_BASE); // 等待接收字符
UARTCharPut(UART0_BASE, c); // 回显
if (c == '
') // 如果遇到回车<CR>
{
UARTCharPut(UART0_BASE, '
'); // 多回显一个换行<LF>
}
}
}
此帖出自
小平头技术问答
clockInit();
这个函数内容是什么,
你可以把“lm3s8962使用之UART篇”里面关于初始化的部分复制进你的工程,试一下
UART篇 的程序是我实验过的,没问题
一周热门 更多>