引用: uuwufydsw 发表于 2018-6-21 02:09
仿真查看相关时钟源的寄存器,可以检查 MCSPI_SYSCONFIG 的 位 CLOCKACTIVITY,还有跟SPI相关的时钟域是否都开启了
PD_PER_L4LS_GCLK (Interface/OCP)
PD_PER_SPI_GCLK (Func)
恩 没有时钟 SPICLK 的这个问题解决了。是因为CS引脚,之前使用的是GPIO,不知道为什么会有问题。
现在换成了SPI1 的 CS0引脚。
但是现在的问题是可以读到数据,只是 SPI 读取到的数据错位了(每次数据中1的个数是相同的,并且和0的组合方式也是相同的),具体如下:
'0b10110000000000010010000000000000'
'0b01011000000000001001000000000000'
'0b00000000000100100000000010110000'
'0b00000000010010000000000000101100'
这是为什么?
Ps: 时钟极性和相位和从设备设置的是相同的。
引用: uuwufydsw 发表于 2018-6-21 02:09
仿真查看相关时钟源的寄存器,可以检查 MCSPI_SYSCONFIG 的 位 CLOCKACTIVITY,还有跟SPI相关的时钟域是否都开启了
PD_PER_L4LS_GCLK (Interface/OCP)
PD_PER_SPI_GCLK (Func)
恩 没有时钟 SPICLK 的这个问题解决了。是因为CS引脚,之前使用的是GPIO,不知道为什么会有问题。
现在换成了SPI1 的 CS0引脚。
但是现在的问题是可以读到数据,只是 SPI 读取到的数据错位了(每次数据中1的个数是相同的,并且和0的组合方式也是相同的),具体如下:
'0b10110000000000010010000000000000'
'0b01011000000000001001000000000000'
'0b00000000000100100000000010110000'
'0b00000000010010000000000000101100'
这是为什么?
Ps: 时钟极性和相位和从设备设置的是相同的。
举报