打印

新手关于SPI数据传输的一些疑问,希望论坛上的各位大神前辈不吝指教。

[复制链接]
264|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
车水马龙|  楼主 | 2020-4-26 08:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手初学STM32,想用STM32实现一个传输协议,协议名叫XY2—100,内容主要是实现下图的一个时序图,不知道有没有前辈实现过类似的项目。然后就是我在知网上下载了一些论文,说是可以利用STM32F103ZET6的SPI功能实现这个时序图。所以小弟最近在苦学STM32的知识,尤其是SPI这一章节,现在有一些疑问想请各位前辈解惑。第一个问题是关于SPI的传输速度:SPI要实现2MBit/s的传输速度,需要对SPI的时钟进行分频,而当系统时钟是72M的时候,不管是APB1的36M还是APB2的72M好像都没有办法直接使SPI的时钟分成2M,因为预分频系数只能是2,4,8,16,32...等等。要想使SPI的时钟成2M,是不是意味着要更改STM32的系统时钟到64M或其他,然后可以选择32的预分频?第二个问题是关于SPI FLASH代码的编程:W25Q的读、写、擦除这些程序我们直接调用就好了吧?第三个问题是SPI连续传输:如时序图所示,需要连续传输20位的数据,我想问问怎么实现SPI的连续传输?是在SPI初始化里面进行配置吗?最后就是,我在论文中看到可以利用STM32F429这一款芯片的定时器中断来实现10us里传输20位数,我试过F103,传数据是ok的,但是波形会比预期的长很多。我想问问各位,以你们对F429的了解,使用定时器中断这个方式可以实现10us内传输20位数的目的吗?

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

474

主题

476

帖子

0

粉丝