void R_SPI_initial(void)
{
RCONbits.IPEN = 0; //禁止中断的优先级
INTCONbits.PEIE = 1; //允许未屏蔽的外设中断
PIE1bits.SSPIE = 1; //MSSP中断使能,发送完成中断(只有发送过程),无中断级别
TRISCbits.TRISC3= 1; //从动模式SCK引脚,输入
TRISCbits.TRISC4= 1; //从动模式SDI引脚,输入
TRISCbits.TRISC5= 1/0; //SDO引脚,输出
TRISAbits.TRISA5= 1; //SS引脚应设置成输入状态
SSPCON1 = 0X04; //使能串口,从动模式,使能(/ss)控制引脚
SSPCON1bits.CKP = 0; //空闲状态低电平,
SSPSTATbits.SMP = 0; //从动模式采样位必须为0
SSPSTATbits.CKE = 1; //时钟从有效转到空闲时,发送数据
SSPCON1bits.SSPEN = 1;
}
以上是我的代码 大家看看有问题吗?
发送和接收可以同时使用吧??
主控单片机那边是模拟的SPI口(时序),读的 时候没问题,但是写完了之后 从SPI就不工作了 ,不知道这是哪出了问题???
还有哪有详细点关于PIC18f的SPI 的工作原理讲解的资料???? |