主题中讨论的其他器件:TM4C123
工具/软件:TI-RTOS
我有一个使用 RTOS v 2_16_01_14的项目、我将像这样设置 Tiva 时钟源...
ROM_SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_25MHz); //从 PLL 计时(50MHz)
SystemClockFreq = ROM_SysCtlClockGet (); //验证50MHz
我正在为38400 8N1配置 UART、如下所示...
空 initUART (空)
{
UART_Params uartParams;
SysCtlPeripheralEnable (SYSCTL_Periph_UART5);
while (!SysCtlPeripheralReady (SYSCTL_Periph_UART5));
MAP_GPIOPinConfigure (GPIO_PE4_U5RX);
MAP_GPIOPinTypeUART (GPIO_Porte _BASE、GPIO_PIN_4); /UART RX
MAP_GPIOPinConfigure (GPIO_PE5_U5TX);
MAP_GPIOPinTypeUART (GPIO_Porte _BASE、GPIO_PIN_5); /UART TX
UART_INIT();
UART_PARAMS_INIT (uartParams);
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.baudrate = 38400;
uart5 = UART_open (UART5、uartParams);
if (uart5 == NULL){
System_printf ("打开 UART5 Midi"时出错);
system_flush();
}
}
但当我使用 UART 时、波特率是错误的。 我观察 UART_CC 为0x00 (系统时钟)、但 UART_IBRD 已设置为0x82 (130)、UART_FBRD 设置为0x0D (13)。 根据数据表、这些值应为 IBRD:50000000/(16x38400)=81.3802、FBRD:0.3802x64+0.5=24。
有人能不能告诉我出了什么问题。
提前感谢 Richard

