完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用的是STM32f107 ,外部晶振为16M。1、当配置时钟
RCC->CFGR2 = (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV4 | RCC_CFGR2_PLL2MUL10 | RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5); can可以正常工作,usart4也可以正常工作。 2、当配置时钟 RCC->CFGR2 = (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV2 | RCC_CFGR2_PLL2MUL8 | RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV8); can发送不了数据,也收不到数据。但是usart4可以正常工作。 有哪位知道为什么吗?? |
|
相关推荐
1个回答
|
|
根据您提供的信息,您使用的是STM32F107,外部晶振为16MHz。您提到了两种时钟配置情况,其中第一种配置可以正常工作,而第二种配置无法发送和接收数据。为了解决这个问题,我们需要分析可能的原因。
1. 时钟配置问题:在第二种配置中,您可能没有正确设置时钟,导致USART或其他相关模块的时钟不正确。请检查您的时钟配置代码,确保所有相关的时钟设置都正确。 2. USART配置问题:请检查您的USART配置,包括波特率、数据位、停止位和奇偶校验位等。确保这些设置与您的通信设备兼容。 3. 硬件连接问题:检查您的硬件连接,确保USART的TX和RX引脚与其他设备的TX和RX引脚正确连接。此外,检查是否有任何硬件故障,如断线或短路。 4. 软件问题:检查您的发送和接收代码,确保它们正确地使用了USART的API。例如,确保在发送数据之前调用了USART_Init()函数,以及在接收数据时正确地使用了USART_ReceiveData()函数。 5. 中断配置问题:如果您使用的是中断方式进行数据传输,请检查中断配置,确保正确设置了USART的中断优先级和中断服务函数。 6. 调试和测试:使用调试工具(如ST-LINK)逐步执行您的代码,观察USART的状态寄存器和相关变量,以确定问题所在。 综上所述,要解决STM32F107无法发送和接收数据的问题,您需要仔细检查时钟配置、USART配置、硬件连接、软件实现以及中断配置。通过逐步排查和调试,您应该能够找到问题的原因并解决它。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1606 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1538 浏览 1 评论
969 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
681 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1584 浏览 2 评论
1861浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
643浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
528浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
503浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 07:17 , Processed in 0.729105 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号