最近,在做一个项目,问题如下:
ST32F107与28035的SPI通信,时钟配置 传输字长度 可以确认无误,应为28035发给ST32F107的数据是正确。但ST32F107发给28035的数据在SPIBUFFER里总是错的。刚好少一位即少一个时钟。ST32F107配置是16位字长。发到28035的SPIDATA寄存器是对的。非常的奇怪,怎么28035的SPIDATA到SPIBUFFER里会少移动一位。到底是ST32F107少给了个时钟还是2803528035的SPIDATA到SPIBUFFER里少移动一位。由此原因导致我所有的连续数据到存在数据左右对齐的调整了。(16位数据不存在SPIBUFFER的数据左右调整,只有少于16位才调整)