This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

急!! 关于TM4C123GH6PM时钟设置的问题



我在调试串口程序的时候发现一个很有趣的现象:

我的串口设置为:使用UART3, 9600波特率,8位数据,1个停止位,无校检位

当我在将时钟设置为SysCtlClockSet(SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ | SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL);时,串口数据接收是错误的

当我在将时钟设置为SysCtlClockSet(SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ | SYSCTL_SYSDIV_2_5 | SYSCTL_USE_OSC);时,串口数据接收数据就对了

请问这是什么原因,速度太快?

现在我的项目都是在用SYSCTL_USE_PLL在运行,所以有办法解决这个问题嘛?

  • SysCtlClockSet(SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ | SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL);

    这样的设置应该是正确的吧。仔细看看你,UART的代码部分,使用官方给的例程看看。

    另外,你读取下系统主频率,看看两种设置下的系统主频率是否相同呢。

    理论上,理论上,主时钟和UART没什么关系的。另外,你用的是123的片子,还是129的片子呢?