nidayededaye 发表于 2020-7-30 15:08:09

stm32spi数据发送的问题

做的大致是用32和一个温度处理芯片进行通信。主控用的是f103c8t6。通信流程是先发命令,再发地址,接着发要写的内容。关键是读写命令是8位的,而地址是16位的。spi初始化的时候设置的是发送8为数据。那我是不是可以把地址分成两个8位的数据发送?还有问题就是CPOL,CPHA的设置,按照图上的时序图该如何设置。头一次接触32,太令人头疼大了,也不知道什么原因一直通信不上!!那位路过的大神指点指点!!

jeffhe1 发表于 2020-7-30 15:40:24

SPI 設定要考慮 ? byte order 要考慮 ? 傳送速度要考慮 ?   用示波器先看看是否有送訊號出來 ?

nidayededaye 发表于 2020-7-30 15:59:13

jeffhe1 发表于 2020-7-30 15:40
SPI 設定要考慮 ? byte order 要考慮 ? 傳送速度要考慮 ?   用示波器先看看是否有送訊號出來 ? ...

我也想有台示波器啊,实验室没有啊:'(

发表于 2020-7-30 17:21:48

楼主是写SPI的FLASH芯片码?直接通过SPI写入数据即可。cmd+地址高字节+地址低字节,如果是写入数据直接继续写内容即可,如果是读取数据,再发送4个0后,直接通过SPI读取函数读取即可。楼主可以参考网上搜索的对应FLASH例程,就明白了。

butterflyspring 发表于 2020-8-14 10:58:17

从楼主的贴图上看,发送和接收分别采用了不同的相位,一个上升沿,一个下降沿。手册上看SPI一次只能设定一种相位采样。所以理论上,在发送完之后要改变时钟相位才有可能。那么中间就要关闭SPI才可以调整相位。注意,关闭SPI是有时序要求的,请参考手册描述。 至于8字节一帧还是16字节一帧,是可以选择的。另外楼主可以在某宝上买个逻辑分析仪,否则做通讯没有观测设备是不行的。
页: [1]
查看完整版本: stm32spi数据发送的问题