我的上电时钟初始化代码,不知道为什么这样设置波特率115200一直输出不正确。 void OSC_Init(void) { CLKCON &= ~0x40; while(SLEEP&0x40); CLKCON &= ~0x41; } void Usart0_Init(void) { IEN0&=0x7f; PERCFG&=0xfe; P0SEL=0x0c; //P0.2-P0.3为外设,其余为通用io P2DIR&= ~0XC0; U0CSR=0x80; U0UCR=0x00; U0GCR=0x20; U0GCR|=0x0c; //115200 U0BAUD=216; UTX0IF=0; URX0IF=0; URX0IE=1; EA=1; } 请问怎么设置时钟,或者是我串口0初始化设置错了吗?产品cc2511
时间: 2023-08-04 21:02:39 浏览: 82
您的串口初始化代码看起来没有问题,但是可能是时钟初始化设置有误导致串口输出不正确。您可以尝试在时钟初始化代码中增加对系统时钟频率的设置,例如:
```
void OSC_Init(void) {
// 设置系统时钟频率为 24MHz
CLKCON = (CLKCON & ~0x07) | 0x00;
// 等待时钟稳定
while(!(CLKCON & 0x40));
// 设置时钟源为内部高速振荡器
CLKCON &= ~0x41;
}
```
另外,您可以检查一下您的调试工具或终端软件是否设置正确了波特率为115200。如果还是无法解决问题,您可以尝试降低波特率,例如9600或19200,看看是否能够正常输出。
相关问题
为什么接无源晶振,STM32时钟信号要从OSC_IN和OSC_OUT进入
答:接无源晶振时,需要外部提供时钟信号,而STM32的内部时钟需要通过外部晶振来提供时钟信号。OSC_IN和OSC_OUT是STM32内部提供的外部晶振引脚,通过这两个引脚可以将外部晶振的时钟信号输入到STM32内部,从而提供STM32的时钟信号。
单片机不配置输出晶振,OSC_OUT引脚会有晶振输出
这取决于具体的单片机型号和硬件设计。一般情况下,单片机需要配置外部晶振才能正常工作,否则会使用内部时钟源,但是并不会产生晶振输出信号。而一些单片机可能具有内部晶振输出功能,这种情况下,即使未配置外部晶振,也可以从 OSC_OUT 引脚获得晶振输出信号。因此,建议您查看单片机的数据手册或参考设计方案,以了解具体的情况。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)