主题中讨论的其他器件:TM4C123、 EK-TM4C123GXL、
工具/软件:Code Composer Studio
您好!
再次感谢所有的人。在我的上一篇文章中,我对 UART 中的数据包发送有疑问,现在很清楚,但我面临另一个问题。假设如果我增加系统时钟,数据包不能通过 UART 正确传输。
SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz); //现在时钟为16MHz
UARTConfigSetExpClk (UART0_BASE、SysCtlClockGet ()、115200、(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); // UART 也具有16MHz
在这些 UART 中工作正常,数据包也正常发送,但是
SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_25MHz); //现在时钟为25MHz
UARTConfigSetExpClk (UART0_BASE、SysCtlClockGet ()、115200、 (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));
在这种情况下、我遇到了一个问题、我的数据正在丢失、在输出端没有得到正确的数据包。有人能帮助我解决这些问题。只有在16MHz 时、如果增加时钟不起作用、它才正常工作。
SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_25MHz); //现在时钟为25MHz
UARTConfigSetExpClk (UART0_BASE、16000000、115200、 (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); //如果我以这些方式使其正常工作。
帮助我解决这些问题。