TI论坛
直播中

孔德羲

8年用户 231经验值
私信 关注

做spi驱动开发,目前按照StarterWare中对spi模块配置之后,没有时钟输出。请问这可能是什么原因?

本帖最后由 一只耳朵怪 于 2018-6-21 09:31 编辑

最近在做spi驱动开发,目前按照StarterWare中对spi模块配置之后,没有时钟输出。请问这可能是什么原因?
Ps:我使用的是am3354,配置为Master,Single Channel,使用的是SPI1,使用普通的GPIO作为片选引脚;
还有个疑问就是SPI1模块使用channel0是可以的吧?
谢谢各位!

回帖(14)

罗兰君

2018-6-21 01:42:27
starterware中的SPI接口用的是spi0,你是参考spi0对spi1进行配置的么?
举报

孔德羲

2018-6-21 02:00:36
引用: 344868615qq 发表于 2018-6-21 01:42
starterware中的SPI接口用的是spi0,你是参考spi0对spi1进行配置的么?

是的,参考SPI 0。
举报

李维兴

2018-6-21 02:09:09
仿真查看相关时钟源的寄存器,可以检查 MCSPI_SYSCONFIG 的 位 CLOCKACTIVITY,还有跟SPI相关的时钟域是否都开启了
Clock Domain
PD_PER_L4LS_GCLK (Interface/OCP)
PD_PER_SPI_GCLK (Func)




 
举报

孔德羲

2018-6-21 02:26:11
引用: 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: 时钟极性和相位和从设备设置的是相同的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分