完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我是新手,最近在研究STM32f103c8t6的spi功能,我自己编程写了一段从rcc开始一直到spi初始化的程序。由于设备有限,我用示波器测量了spi sck管脚的输出波形,的确是时钟信号,但是频率和我rcc设置的有出入,底了很多,上网找了一下原因没有一个合适的。所以请问一下我的程序到底哪里出错了,谢谢。
|
|
相关推荐
1个回答
|
|
1. 确保SPI时钟源正确配置:在初始化SPI之前,您需要确保选择了正确的时钟源。STM32F103C8T6的SPI时钟源可以是PCLK1或PCLK2,具体取决于您的配置。请检查您的代码,确保选择了正确的时钟源。 2. 检查SPI时钟极性和相位配置:SPI通信的时钟极性和相位可能影响时钟信号的频率。请检查您的SPI初始化代码,确保时钟极性(CPOL)和相位(CPHA)设置正确。 3. 检查SPI分频配置:SPI通信的时钟频率可以通过分频来调整。请检查您的SPI初始化代码,确保分频设置正确。例如,如果您希望SPI时钟频率为理论值的一半,可以将SPI的分频系数设置为2。 4. 检查SPI主/从模式配置:如果您的SPI设备配置为主模式,那么SPI时钟频率将受到APB时钟频率的影响。请检查您的代码,确保SPI设备的工作模式(主/从)设置正确。 5. 检查RCC时钟树配置:确保您的RCC时钟树配置正确,包括系统时钟、APB1/2时钟等。错误的时钟树配置可能导致SPI时钟频率与理论值不一致。 6. 使用STM32CubeMX工具:STM32CubeMX是一个图形化配置工具,可以帮助您生成初始化代码。您可以尝试使用STM32CubeMX配置您的项目,然后生成代码,看看是否能够解决问题。 7. 检查硬件连接:确保您的硬件连接正确,包括SPI设备的引脚连接、晶振等。错误的硬件连接可能导致SPI时钟频率异常。 8. 使用STM32 ST-LINK调试器:如果您有STM32 ST-LINK调试器,可以使用它来调试您的程序。通过调试器,您可以查看SPI时钟频率的实时值,以及相关寄存器的设置情况。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1621 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1546 浏览 1 评论
980 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
686 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1599 浏览 2 评论
1867浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
650浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
518浏览 3评论
536浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 02:50 , Processed in 0.790768 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号