SPI发送和接收两个过程的初始化设置一样吧(从动模式)

[复制链接]
6287|8
 楼主| leizi2008 发表于 2010-1-12 10:55 | 显示全部楼层 |阅读模式
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 的工作原理讲解的资料????
 楼主| leizi2008 发表于 2010-1-12 10:56 | 显示全部楼层
片子是 18F2520,忘写了
kjzyywx 发表于 2010-1-21 18:03 | 显示全部楼层
datasheet
最爱01间 发表于 2010-1-21 20:50 | 显示全部楼层
仅给出对MSSP初始化的这点程序,不好判定整个通信那出了问题.
最爱01间 发表于 2010-1-21 20:51 | 显示全部楼层
仅给出对MSSP初始化的这点程序,不好判定整个通信那出了问题.
machunshui 发表于 2010-1-21 21:57 | 显示全部楼层
楼主改为空闲状态高电平,试试看看
 楼主| leizi2008 发表于 2010-1-22 14:47 | 显示全部楼层
恩,我试试去^^
ferrari059 发表于 2010-1-27 09:27 | 显示全部楼层
从动模式的芯片要想使SPI工作,必须仍由主动模式的芯片提供时钟信号,如果你从动的芯片还回复数据,你使用的从动芯片的SPI发送,那么主动模式的芯片是无法接收到你的数据的
 楼主| leizi2008 发表于 2010-2-2 17:19 | 显示全部楼层
8# ferrari059
就是说主机或从机的不能在接收的同时也发送数据吗??
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

266

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部