打印

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

[复制链接]
5291|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初始化的这点程序,不好判定整个通信那出了问题.

使用特权

评论回复
5
最爱01间| | 2010-1-21 20:51 | 只看该作者
仅给出对MSSP初始化的这点程序,不好判定整个通信那出了问题.

使用特权

评论回复
6
machunshui| | 2010-1-21 21:57 | 只看该作者
楼主改为空闲状态高电平,试试看看

使用特权

评论回复
7
leizi2008|  楼主 | 2010-1-22 14:47 | 只看该作者
恩,我试试去^^

使用特权

评论回复
8
ferrari059| | 2010-1-27 09:27 | 只看该作者
从动模式的芯片要想使SPI工作,必须仍由主动模式的芯片提供时钟信号,如果你从动的芯片还回复数据,你使用的从动芯片的SPI发送,那么主动模式的芯片是无法接收到你的数据的

使用特权

评论回复
9
leizi2008|  楼主 | 2010-2-2 17:19 | 只看该作者
8# ferrari059
就是说主机或从机的不能在接收的同时也发送数据吗??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

266

帖子

0

粉丝