在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用89C51驅(qū)動(dòng)nRf905收發(fā)C源代碼

        用89C51驅(qū)動(dòng)nRf905收發(fā)C源代碼

        作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏

        /*******************************************************************************************/
        //function SpiWrite();
        /*******************************************************************************************/
        void SpiWrite(uchar byte)
        {
        uchar i;
        DATA_BUF=byte; // Put functions parameter into a bdata variable
        for (i=0;i<8;i++) // Setup byte circulation bits
        {

        if (flag) // Put DATA_BUF.7 ondataline
        MOSI=1;
        else
        MOSI=0;
        SCK=1; // Set clock line high
        DATA_BUF=DATA_BUF<<1; // Shift DATA_BUF
        SCK=0; // Set clocklinelow
        }
        }
        /*******************************************************************************************/
        //function SpiRead();
        /*******************************************************************************************/
        uchar SpiRead(void)
        {
        uchar i;
        for (i=0;i<8;i++) // Setup byte circulation bits
        {
        DATA_BUF=DATA_BUF<<1; // Right shift DATA_BUF
        SCK=1; // Set clock line high
        if (MISO)
        flag1=1; // Readdata
        else
        flag1=0;


        SCK=0; // Set clocklinelow
        }
        return DATA_BUF; // Return function parameter
        }
        /*******************************************************************************************/
        //function TxPacket();
        /*******************************************************************************************/
        void TxPacket(void)
        {
        uchar i;
        //Config905();
        CSN=0; // Spi enable for write a spi command
        SpiWrite(WTP); // Write payload command
        for (i=0;i<32;i++)
        {
        SpiWrite(TxBuf[i]); // Write 32 bytes Txdata
        }
        CSN=1; // Spi disable
        Delay(1);
        CSN=0; // Spi enable for write a spi command
        SpiWrite(WTA); // Write address command
        for (i=0;i<4;i++) // Write 4 bytes address
        {
        SpiWrite(RxTxConf.buf[i+5]);
        }
        CSN=1; // Spi disable
        TRX_CE=1; // Set TRX_CE high,start Txdatatransmission
        Delay(1); // while (DR!=1);
        TRX_CE=0; // Set TRX_CElow
        }
        /*******************************************************************************************/
        //function RxPacket();
        /*******************************************************************************************/
        void RxPacket(void)
        {
        uchar i,xx;
        TRX_CE=0; // Set nRF905 in standby mode
        CSN=0; // Spi enable for write a spi command
        SpiWrite(RRP); // Read payload command
        for (i=0;i<32;i++)
        {
        RxBuf[i]=SpiRead(); // Readdataand save to buffer
        }
        CSN=1; // Disable spi
        while(DR||AM);
        P0= RxBuf[0]; // Buffer[0] outputfromP0 port...
        TRX_CE=1;
        xx=(RxBuf[0]>>4)&0x0f;
        TxData(xx);
        Delay(500); // ...lightled
        P0=0xff; // Close led
        }
        /*******************************************************************************************/
        //function SetTxMode();
        /*******************************************************************************************/
        void SetTxMode(void)
        {
        TX_EN=1;
        TRX_CE=0;
        Delay(1); // delay for mode change(>=650us)
        }
        /*******************************************************************************************/
        //function SetRxMode();
        /*******************************************************************************************/
        void SetRxMode(void)
        {
        TX_EN=0;
        TRX_CE=1;
        Delay(1); // delay for mode change(>=650us)
        }
        /*******************************************************************************************/
        //Functon Scankey();
        /*******************************************************************************************/
        void Scankey()
        {
        uchar Temp,xx;
        P0=0xff;
        Temp=P0&0x0f; // Read key value from port P0
        if (Temp!=0x0f)
        { Delay(10);
        Temp=P0&0x0f; // Read key valuefromport P0
        if (Temp!=0x0f)
        {
        xx=Temp;
        Temp=Temp<<4; // Left shift 4 bits
        TxBuf[0]=Temp; // Turn On the LED
        P0=Temp; // Save to Tx buffer[0]
        SetTxMode(); // Set Tx Mode
        TxPacket(); // Transmit Tx bufferdata
        TxData (xx);
        Delay(500); // Delay for LEDlight
        P0=0xff; // Close LED display
        SetRxMode(); // Set Rx Mode

        while((P0&0x0f)!=0x0f);
        }
        }
        }
        /*******************************************************************************************/
        //Function TxData ();
        /*******************************************************************************************/
        void TxData (uchar x)
        {
        SBUF=x;
        while(TI==0);
        TI=0;

        }
        /*******************************************************************************************/

        上一頁 1 2 下一頁

        關(guān)鍵詞: 89C51nRf905收

        評論


        技術(shù)專區(qū)

        關(guān)閉
        ×

        “芯”朋友见面大会
        珠海|11.14|泰克“芯”朋友见面大会珠海站|泰克带您从测试角度看半导体的整条产业链,快来报名抢位吧>>