打印

SPIM 读写操作问题

[复制链接]
1062|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gexingyouxian|  楼主 | 2014-10-24 08:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void SPI_Write(unsigned char dig)
{
        PRT2DR |= CS;
        while(!(SPIM_1_bReadStatus() & SPIM_1_SPIM_TX_BUFFER_EMPTY)){};
        PRT2DR &= ~CS;                         // set slave select low
        SPIM_1_SendTxData(dig); // set message to transmit        
        while(!(SPIM_1_bReadStatus() & SPIM_1_SPIM_SPI_COMPLETE)){};
        PRT2DR |= CS;                        //
}

unsigned char SPI_Read(void)
{
        unsigned char ReceivedData;
        
        PRT2DR |= CS;
        
        PRT2DR &= ~CS;
        SPIM_1_SendTxData(0x00);  // 写伪数据,以便读到数据                                    
        while(!(SPIM_1_bReadStatus() &  SPIM_1_SPIM_RX_BUFFER_FULL));//RX Buffer register has received current data
        ReceivedData = SPIM_1_bReadRxData();               
        PRT2DR |= CS;
        
        return ReceivedData;
}
沙发
gexingyouxian|  楼主 | 2014-10-24 08:27 | 只看该作者
可以向SPI从设备写操作,但是死活都不能进行读操作,
请高手指点

使用特权

评论回复
板凳
dsll2010| | 2014-10-27 17:23 | 只看该作者
这个问题一眼看不出来,最好到官网上去建个case,会有人给你解决。

使用特权

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

本版积分规则

197

主题

1530

帖子

2

粉丝