STM8L152xx使用LSI作为时钟源时,USART不能使用的问题可能是由于以下几个原因导致的:
1. 波特率设置错误:在您的代码中,您使用了9600作为波特率。请确保您的USART_Init函数中的波特率参数正确设置。例如,如果您使用的是9600波特率,确保您的PLL和时钟设置能够支持这个波特率。
2. USART初始化参数错误:在您的代码中,您使用了USART_Wor作为初始化参数。这可能是一个拼写错误,正确的参数应该是USART_WordLength_8b。请检查您的USART_Init函数中的参数是否正确。
3. 时钟配置问题:确保您的时钟配置能够支持USART的运行。在您的代码中,您已经设置了LSI为系统时钟源,并且没有分频。请确保这个时钟配置能够满足USART的运行要求。
4. USART中断配置问题:如果您的USART通信依赖于中断,请确保您已经正确配置了USART的中断。例如,您可能需要配置USART的接收中断和发送中断。
5. 硬件连接问题:请检查您的硬件连接,确保USART的RX和TX引脚已经正确连接到相应的设备。
6. 软件问题:请检查您的代码中是否有其他可能导致USART无法正常工作的问题。例如,您可能需要在USART_Init函数之后调用USART_Cmd(ENABLE)来启用USART。
综上所述,要解决STM8L152xx使用LSI作为时钟源时USART不能使用的问题,您需要检查波特率设置、USART初始化参数、时钟配置、中断配置、硬件连接以及软件问题。确保所有这些方面都正确无误,USART应该能够正常工作。
STM8L152xx使用LSI作为时钟源时,USART不能使用的问题可能是由于以下几个原因导致的:
1. 波特率设置错误:在您的代码中,您使用了9600作为波特率。请确保您的USART_Init函数中的波特率参数正确设置。例如,如果您使用的是9600波特率,确保您的PLL和时钟设置能够支持这个波特率。
2. USART初始化参数错误:在您的代码中,您使用了USART_Wor作为初始化参数。这可能是一个拼写错误,正确的参数应该是USART_WordLength_8b。请检查您的USART_Init函数中的参数是否正确。
3. 时钟配置问题:确保您的时钟配置能够支持USART的运行。在您的代码中,您已经设置了LSI为系统时钟源,并且没有分频。请确保这个时钟配置能够满足USART的运行要求。
4. USART中断配置问题:如果您的USART通信依赖于中断,请确保您已经正确配置了USART的中断。例如,您可能需要配置USART的接收中断和发送中断。
5. 硬件连接问题:请检查您的硬件连接,确保USART的RX和TX引脚已经正确连接到相应的设备。
6. 软件问题:请检查您的代码中是否有其他可能导致USART无法正常工作的问题。例如,您可能需要在USART_Init函数之后调用USART_Cmd(ENABLE)来启用USART。
综上所述,要解决STM8L152xx使用LSI作为时钟源时USART不能使用的问题,您需要检查波特率设置、USART初始化参数、时钟配置、中断配置、硬件连接以及软件问题。确保所有这些方面都正确无误,USART应该能够正常工作。
举报