你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

调试stm32F103C8t6作为从机,用SPI1遇到接收速率要求的问题

[复制链接]
popdes 提问时间:2017-11-24 11:09 /
本帖最后由 popdes 于 2017-11-24 11:35 编辑

如题:
采用stm32cubemx配置F103单片机作为从机从SPI1接收来自主机ad7655的数据时候遇到的问题
前提: F103C8 作为从机 设置为slave  , ad7655这个芯片通过管脚设置为master主机发送数据, ad7655的spi频率是4.35Mhz左右
配置F103的spi1为RX only ,数据位为8位, 其他按照正常配置, 生成程序之后,运行dubug调试发现OVR溢出错误.


解决办法:
查看官方提供的F1系列Hal库使用手册(UM1850 DOCIDO27328 Rev1)2015年2月编写(最新本的手册里已经没有这句话和下面的表), 发现里面有这么句话:
  1. Using the HAL it is not possible to reach all supported SPI frequency with the differents
  2. SPI Modes. Table 20: "Maximum SPI frequency for 8-bit SPI data transfers" and Table 21:
  3. "Maximum SPI frequency for 16-bit SPI data transfers" summarize the maximum SPI
  4. frequency reached with data size 8bits/16bits, according to frequency used on APBx
  5. Peripheral Clock (fPCLK) used by the SPI instance.
复制代码
还有一张频率限制表:

本着采样频率应该是信号频率的2倍以上的原则, 按照上表所示,把8位数据改为16位数据接收之后, 一切正常.

那么问题来了::::????????????
上面那句英文的意思,我可以理解为 , hal库才有这个限制?!
因为本人对标准库和寄存器库不甚了解, 所以想知道,是不是换成寄存器操作spi或者标准库操作就没这个限制了???

配置如下:




本文的原帖地址: http://www.stm32cube.com/question/718



收藏 评论2 发布时间:2017-11-24 11:09

举报

2个回答
popdes 回答时间:2017-11-24 13:11:55
再补充一点:
上面的手册是2015.2月的
我去官方下载的最新的里面是没有上面提到的东西的......

会不会是我买到的是2015年左右的芯片.....⊙﹏⊙b汗
会不会后面生成的F103的已经改进这个问题了,所以不需要提醒这个了.....
popdes 回答时间:2017-11-24 15:06:12
结贴:
刚刚查看spi的hal库文件,发现 stm32fxx_hal_spi.c文件里面是有这个频率介绍的,
虽然在F1的hal库手册上没写,但是生成的库里是有写的.

说明不是芯片批次问题,而是F1系列就有这个问题

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版