tianyi996 发表于 2010-11-4 20:55:49

发一个si4432 b1的调试程序470M

不知道问题在哪,51的程序,大侠门帮看下!老板催我完成!着急啊!
si4432 b1 470程序ourdev_595338X32KUC.rar(文件大小:45K) (原文件名:复件 si4432 程序(进行中).rar)

MarkLi 发表于 2011-3-17 12:12:00

这个好像是SPI的读写函数不能这样统一,因为Si4432读的时候地址的最高位需要是0,写的时候地址的最高位需要是1,你的程序中没有对地址加以区分
unsigned char SPITxRx_Byte(unsigned char dat)
{
        unsigned char i, temp = 0;            

        for (i=0; i<8; i++)                         //读写八位
        {                                    
                if (dat & 0x80)
                {
                RF_MOSI=1; //MOSI_H;                           //写出高位   
                }               
                else
                {
                RF_MOSI=0;        //MOSI_L;                           //写出低位
                }

                RF_SCLK=1;//SCLK_H;                                 //发出时钟
                _nop_();
                _nop_();
                dat <<= 1;
                temp <<= 1;                           //数据左移
                     
                if(RF_MISO==1)//if (MISO_H)
                {
                        temp += 1 ;                         //记录高位   
                }            
                else   
                {
                        temp += 0;                        //记录低位
                }

                RF_SCLK=0;//SCLK_L;                                 //结束时钟                        
                _nop_();
                _nop_();
        }
        return temp;                              //返回数据
}
页: [1]
查看完整版本: 发一个si4432 b1的调试程序470M