|
SPI是不是只要发送数据,就会有时钟信号?现在时有数据发送出去,但是却没有时钟信号输出,我是这样设置的:主控模式,SDO由模块控制,8位传输,中间采样,CKE=0,SSEN=0,CKP=1,SPRE<2:0>=111(1:1),PPRE<1:0>=00(64:1),SPI帧禁止和使能都设置过。请熟悉SPI通讯的指点一下,谢谢!
初始化代码:
PIN_SPI:
bclr TRISG,#6 ;SCK
bset TRISG,#7 ;SCI
bclr TRISG,#8 ;SCO
bclr TRISG,#9 ;SS
bclr LATG,#9
_SPIInit:
bclr IFS1,#10
bset IEC1,#10
bset IPC3,#6
bset IPC3,#5
bset IPC3,#4
mov #0x407c,w0
mov w0,SPI2CON
clr SPI2STAT
bset SPI2STAT,#15
使用的IC:dspic30f5013
资料内容:
SPI 串行接口由以下四个引脚组成:
? SDIx:串行数据输入
? SDOx:串行数据输出
? SCKx:移位时钟输入或输出
? SSx:低电平有效从动选择或者帧同步I/O 脉冲
SPI 主控模式和帧主控模式,通过将MSTEN (SPIxCON<5>)和FRMEN (SPIxCON<14>)位置1 并将SPIFSD,(SPIxCON<13>)位清零可使能此帧SPI 模式。在此模式下,无论模块是否正在发送,串行时钟都将在SCKx 引脚连续输出。
可是现在就是没有时钟输出!
|
|