SPI时钟的问题

2019-07-20 21:50发布

大家好,我最近在做SPI的双机通信,但是在接收数据的时候数据会丢失。 通过串口向SPI发送数据 通过串口向SPI发送数据
通过串口向SPI发送数据,如图所示
出现这种情况的原因是为什么呢??
希望能够得到大家的帮助。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
machicheng
2019-07-20 22:19
APB1的最高频率是36MHz,APB2的最高频率是72MHz,而PCLK1和PCLK2一般也默认配置为其最高工作频率36M和72M,如下表所示:  SPI1时钟由APB2时钟分频而来,可以选择2、4、8、16、32、64、128、256这几个分频系数。而手册规定STM32的SPI时钟最快是18MHz。对于STM32F103的SPI1接口时钟,由72M的PCLK2分频得到,所以分配系数大于等于4(72M/4 = 18M)。对于STM32F103的SPI2/3接口时钟,由36M的PCLK1分频得到,所以分配系数大于等于2(36M/2 = 18M)。 如果配置SPI1时选择了fPCLK/2的二分频选项,那么理论上SPI1的时钟将为36MHz,经过我们实际测量也确实为36MHz。但是这个频率大于手册中最快18Mhz的要求。如果大家追求高速率使用36MHz,建议大家一定要加强测试环节,同时不建议大家在工控产品等高可靠性的场合使用。                              --摘自神舟STM32开发板手册

一周热门 更多>