本帖最后由 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月编写(最新本的手册里已经没有这句话和下面的表), 发现里面有这么句话:
本着采样频率应该是信号频率的2倍以上的原则, 按照上表所示,把8位数据改为16位数据接收之后, 一切正常. 那么问题来了::::???????????? 上面那句英文的意思,我可以理解为 , hal库才有这个限制?! 因为本人对标准库和寄存器库不甚了解, 所以想知道,是不是换成寄存器操作spi或者标准库操作就没这个限制了??? 配置如下: 本文的原帖地址: http://www.stm32cube.com/question/718 |
上面的手册是2015.2月的
我去官方下载的最新的里面是没有上面提到的东西的......
会不会是我买到的是2015年左右的芯片.....⊙﹏⊙b汗
会不会后面生成的F103的已经改进这个问题了,所以不需要提醒这个了.....
刚刚查看spi的hal库文件,发现 stm32fxx_hal_spi.c文件里面是有这个频率介绍的,
虽然在F1的hal库手册上没写,但是生成的库里是有写的.
说明不是芯片批次问题,而是F1系列就有这个问题