OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11091|回复: 7

stm32的spi时钟频率问题

[复制链接]

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
发表于 2018-7-17 16:29:57 | 显示全部楼层 |阅读模式
SPI1时钟是从APB2时钟分频而来,APB2时钟为72M情况下,是否只能选择2、4、8、16、32、64、128、256这几个分频系数,如果这几个预分频后的时钟不是我想要的,比如我的从设备的spi时钟给定为2K或者2.4M我应该怎么配置才能使SPI1时钟?
1.这里我问的事两种情况,一种是外设的数据手册给的spi口的clk为2K,我该如何配置stm32的spi的clk与之通讯。
2.如果我想设置stm32的spi的clk正好不是预分频就能得到的频率该怎么办,比如2.4M
希望大家来讨论


#define SPI_BaudRatePrescaler_2         ((uint16_t)0x0000)
#define SPI_BaudRatePrescaler_4         ((uint16_t)0x0008)
#define SPI_BaudRatePrescaler_8         ((uint16_t)0x0010)
#define SPI_BaudRatePrescaler_16        ((uint16_t)0x0018)
#define SPI_BaudRatePrescaler_32        ((uint16_t)0x0020)
#define SPI_BaudRatePrescaler_64        ((uint16_t)0x0028)
#define SPI_BaudRatePrescaler_128       ((uint16_t)0x0030)
#define SPI_BaudRatePrescaler_256       ((uint16_t)0x0038)

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-17 16:32:10 | 显示全部楼层
修改晶振

不知道你用的芯片是什么。一般都是PCLK去分HCLK,你可以在HCLK上分频给PCLK,PCLK再分频
猪猪熊呢?
回复 支持 反对

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
 楼主| 发表于 2018-7-17 16:52:11 | 显示全部楼层
323232 发表于 2018-7-17 16:32
修改晶振

不知道你用的芯片是什么。一般都是PCLK去分HCLK,你可以在HCLK上分频给PCLK,PCLK再分频

这是别人提出的问题,我在想从设备的话应该不会提供时钟的吧?
回复 支持 反对

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4520
金钱
4520
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-17 17:18:16 | 显示全部楼层
所谓主设备,就是用来提供时钟的,
主从以此节拍来传递数据,
一般没有从设备还提时钟要求,必须多少多少的吧,
就是有一定的时钟适应范围,最高不能超过多少之类的,
楼主好好看看从设备的说明
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复 支持 反对

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
 楼主| 发表于 2018-7-17 17:46:55 | 显示全部楼层
本帖最后由 ssssssssssss 于 2018-7-17 17:47 编辑
warship 发表于 2018-7-17 17:18
所谓主设备,就是用来提供时钟的,
主从以此节拍来传递数据,
一般没有从设备还提时钟要求,必须多少多少 ...

现在明白了 谢谢大神,那我看w25q16可以75m速度的话,那我配置主机在75m以下应该都可以吧?
回复 支持 反对

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4520
金钱
4520
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-17 18:07:48 | 显示全部楼层
ssssssssssss 发表于 2018-7-17 17:46
现在明白了 谢谢大神,那我看w25q16可以75m速度的话,那我配置主机在75m以下应该都可以吧?

可以。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复 支持 反对

使用道具 举报

29

主题

136

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1298
金钱
1298
注册时间
2013-1-11
在线时间
448 小时
发表于 2018-7-17 18:16:25 | 显示全部楼层
本帖最后由 aozhouduwang 于 2018-7-17 18:21 编辑

SPI    主设备跑多快,从设备就跑多快 (前提从设备得能跟上主设备的最大速度,否则让主设备哈怂跑慢点)
串口  主从设备约定好跑多快,然后主从都按这个速度跑
所以,串口不需要CLK,SPI需要CLK去匹配速度。
记得STM32的硬SPI最快好像是18M。如果要用软件模拟,只要从设备速度跟得上,那就撒欢的让跑吧
回复 支持 反对

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
 楼主| 发表于 2018-7-18 08:36:04 | 显示全部楼层
aozhouduwang 发表于 2018-7-17 18:16
SPI    主设备跑多快,从设备就跑多快 (前提从设备得能跟上主设备的最大速度,否则让主设备哈怂跑慢点)
...

这里的18m是怎么算出来的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-16 21:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表