首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同的BaudratePrescaler值不会改变STM32H7 SPI时钟频率

不同的BaudratePrescaler值不会改变STM32H7 SPI时钟频率
EN

Stack Overflow用户
提问于 2019-09-03 18:34:19
回答 1查看 1.3K关注 0票数 0

我的400 my内核时钟和预分频器256仅在此配置下,我的SPI正在生成Clk、MISO、MOSI、CS信号,当我更改除此值以外的预分频器值时,不会生成任何信号,代码进入环路,设备忙状态返回。

在此配置下,仅运行1.56 clk clk速度。我想提高SPI的时钟速度。请帮帮我。

我的SPI初始化如下:

代码语言:javascript
复制
hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER;
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
hspi1.Init.NSS = SPI_NSS_SOFT;
//hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_256;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi1.Init.CRCPolynomial = 7;
hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;

我想以80或100 Mhz执行SPI clk,这是STM32中SPI的最大执行速度。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-03 20:47:00

我也遇到过完全相同的问题,这是由于GPIO输出速度设置造成的。您应选中并将其更改为超高速(寄存器GPIOx_OSPEEDR)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57769918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档