打印

PIC单片机与CC1121 SPI编程

[复制链接]
1906|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
goldtiny|  楼主 | 2013-12-6 17:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在使用PIC单片机与CC1121芯片编程的时候,使用MCU的SPI对CC1121进行配置,参考网上有很多程序。
BYTE SPI_write(BYTE value)
{
        unsigned char i,spi_status;
        for(i=0;i<8;i++)
                {
                if(value&0x80)
                        {
                                P_SCLK_OFF();     
                                P_SI_ON();
                        }
                else
                        {
                                P_SCLK_OFF();
                                P_SI_OFF();
                        }       
                        P_SCLK_ON();
                        value <<=1;
                spi_status<<=1;       
                if(P_SO)
                   spi_status=spi_status|0x01;     
                else
                   spi_status=spi_status&0xfe;   
          }
          P_SCLK_OFF();
          return(spi_status);
}
其中
#define                P_SCLK_ON()                                        setbit(PORTC,3)  
#define                P_SCLK_OFF()                                         clrbit(PORTC,3)  

#define                P_SI_ON()                                                 setbit(PORTC,5)  //
#define                P_SI_OFF()                                         clrbit(PORTC,5)  //

请问这样一段SPI定义的写函数中P_SCLK_OFF()和 P_SI_ON()是什么作用?不是太清楚 这段程序的一个思路。网上的案例为什么PIC对CC1121的SPI配置都没有使用PIC单片机的SSPBUF寄存器?
                             

沙发
单片机学习0| | 2014-6-5 10:59 | 只看该作者
这是用IO口模拟的SPI,不是用的内部SPI,所以不需要配置,P_SCLK_OFF()和 P_SI_ON()是信号拉高拉低的意思

使用特权

评论回复
板凳
yewuyi| | 2014-6-6 09:20 | 只看该作者
P_SCLK_OFF()和 P_SI_ON()

这是一种宏定义的使用方法,在代码中已经有了定义P_SCLK_OFF()就相当于clrbit(PORTC,3),但需要注意,定义要在前,使用在后。

使用特权

评论回复
地板
DXWDSWCSL12| | 2018-11-17 22:01 | 只看该作者
你好!我用CC1121开发不成功,可以帮忙吗?有酬劳。

使用特权

评论回复
5
巴了吧| | 2018-11-21 13:45 | 只看该作者
您好,问一下您调试PIC单片机用的什么仿真器?

使用特权

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

本版积分规则

6

主题

42

帖子

0

粉丝