初中生
最后登录1970-1-1
在线时间 小时
注册时间2017-12-29
|
新手初学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位数的目的吗? |
-
XY2—100协议
|