<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > RF1100SE單片機(jī)C8051F310程序

          RF1100SE單片機(jī)C8051F310程序

          作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          #include

          #include
          #include
          #include
          #include

          本文引用地址:http://www.ex-cimer.com/article/201611/324042.htm

          #define uint unsigned int
          #define uchar unsigned char

          #define BUSY SPI0CFG&0x80//SPI接口檢測

          code uchar PaTabel[]={0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60};//配置功率
          uchar send_buf[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
          //要發(fā)送的有效數(shù)據(jù),其中第一個(gè)為數(shù)據(jù)的長度
          uchar rx_buf[8]={0}; //接收的數(shù)據(jù)緩存

          //引腳定義*********************************************************************************
          #define CSN_HIGH CSN=1
          #define CSN_LOW CSN=0
          sbit GDO0 =P0^6;
          sbit CSN =P0^3;
          sbit MISO =P0^1; //為了檢測是否穩(wěn)定
          sbit c=P0^7;
          //*****************************************************************************************
          #define WRITE_BURST 0x40 //連續(xù)寫入多個(gè)字節(jié),即為突發(fā)訪問
          #define READ_SINGLE 0x80 //讀一個(gè)字節(jié)
          #define READ_BURST 0xC0 //連續(xù)讀多個(gè)字節(jié)
          #define BYTES_IN_RXFIFO 0x7F //接收緩沖區(qū)的有效字節(jié)數(shù)
          #define CRC_OK 0x80 //CRC校驗(yàn)通過位標(biāo)志
          //*****************************************************************************************
          //RF1100SE寄存器地址
          #define IOCFG2 0x00
          #define IOCFG1 0x01
          #define IOCFG0 0x02
          #define FIFOTHR 0x03
          #define SYNC1 0x04
          #define SYNC0 0x05
          #define PKTLEN 0x06
          #define PKTCTRL1 0x07
          #define PKTCTRL0 0x08
          #define ADDR 0x09
          #define CHANNR 0x0a
          #define FSCTRL1 0x0b
          #define FSCTRL0 0x0c
          #define FREQ2 0x0d
          #define FREQ1 0x0e
          #define FREQ0 0x0f

          //配置寄存器
          #define MDMCFG4 0x10
          #define MDMCFG3 0x11
          #define MDMCFG2 0x12
          #define MDMCFG1 0x13
          #define MDMCFG0 0x14
          #define DEVIATN 0x15
          #define MCSM2 0x16
          #define MCSM1 0x17
          #define MCSM0 0x18
          #define FOCCFG 0x19
          #define BSCFG 0x1a
          #define AGCTRL2 0x1b
          #define AGCTRL1 0x1c
          #define AGCTRL0 0x1d
          #define WOREVT1 0x1e
          #define WOREVT0 0x1f

          #define WORCTRL 0x20
          #define FREND1 0x21
          #define FREND0 0x22
          #define FSCAL3 0x23
          #define FSCAL2 0x24
          #define FSCAL1 0x25
          #define FSCAL0 0x26
          #define RCCTRL1 0x27
          #define RCCTRL0 0x28
          #define FSTEST 0x29
          #define PTEST 0x2a
          #define AGCTEST 0x2b
          #define TEST2 0x2c
          #define TEST1 0x2d
          #define TEST0 0x2e

          //狀態(tài)寄存器
          #define PARTNUM 0x30
          #define VERSION 0x31
          #define FREQEST 0x32
          #define LQI 0x33
          #define RSSI 0x34
          #define MARCSTATE 0x35
          #define WORTIME1 0x36
          #define WORTIME0 0x37
          #define PKTSTATUS 0x38
          #define VCOVCDAC 0x39
          #define TXBYTES 0x3a
          #define RXBYTES 0x3b
          #define PATABLE 0x3e
          #define TX_FIFO 0x3f
          #define RX_FIFO 0x3f

          //控制命令寄存器
          #define SRES 0x30//重啟芯片
          #define SFSTXON 0x31//開啟和校準(zhǔn)頻率合成器
          #define SXOFF 0x32//關(guān)閉晶體振蕩器
          #define SCAL 0x33//校準(zhǔn)頻率合成器并關(guān)斷
          #define SRX 0x34//啟用RX
          #define STX 0x35//空閑狀態(tài)時(shí)啟用TX
          #define SIDLE 0x36//離開RX/TX關(guān)斷頻率合成器并離開電磁波激活模式
          #define SAFC 0x37//運(yùn)行頻率合成器的AFC調(diào)節(jié)
          #define SWOR 0x38//運(yùn)行自動(dòng)RX選舉序列
          #define SPWD 0x39//當(dāng)CSn為高時(shí)進(jìn)入功率降低模式
          #define SFRX 0x3a//沖洗RX_FIFO緩沖
          #define SFTX 0x3b//沖洗TX_FIFO緩沖
          #define SWORRST 0x3c//重新設(shè)置真實(shí)時(shí)間時(shí)鐘
          #define SNOP 0x3d//附加:軟件擴(kuò)充為兩個(gè)字節(jié)

          //函數(shù)聲明*********************************************************************************
          void sysclk(void);
          void pio(void);
          void SPI(void);
          void Interrupt_int(void);
          void delay(uint i);
          void dat_int(void);
          //*****************************************************************************************
          uchar SPI_RW(uchar byte); //用SPI讀寫一字節(jié)的數(shù)據(jù)
          void SPI_WR_Strobe(uchar strobe); //寫入濾波命令
          void POWER_UP_RESET_CC1100(void); //上電復(fù)位
          uchar SPI_RW_Reg(uchar reg,uchar value); //向寄存器寫一字節(jié)的數(shù)據(jù),同時(shí)返回狀態(tài)字
          uchar SPI_Read_Reg(uchar reg); //從寄存器讀一字節(jié)的數(shù)據(jù)
          uchar SPI_Read_Buf(uchar reg,uchar *pBuf,uchar bytes); //從reg連續(xù)讀出bytes字節(jié)的數(shù)據(jù)
          uchar SPI_RW_Buf(uchar reg,uchar *pBuf,uchar bytes); //向reg連續(xù)寫入bytes字節(jié)的數(shù)據(jù)
          uchar RF1100CE_RxPacket(uchar *rx_buf,uchar *length); //接收函數(shù)
          void RF1100CE_TxPacket(uchar *tx_buf,uchar size); //發(fā)送函數(shù)
          void RF1100CE_Config(void); //RF1100CE的配置函數(shù)
          //*****************************************************************************************
          void main(void) //主程序
          {uchar sta=0;
          PCA0MD &= ~0x40;// 關(guān)閉看門狗
          pio();
          sysclk();
          dat_int();
          SPI(); //SPI0DAT是SPI的數(shù)據(jù)寄存器
          Interrupt_int();
          EA=0;

          POWER_UP_RESET_CC1100();
          RF1100CE_Config(); //RF1100CE的配置函數(shù)
          SPI_RW_Buf(PATABLE,PaTabel,8); //對設(shè)備進(jìn)行功率配置
          delay(6000);

          while(1)
          {

          RF1100CE_TxPacket(send_buf,8); //發(fā)送函數(shù)
          c=1;
          delay(100);

          if(sta&0xff)
          {
          CSN_LOW;
          SPI_RW(SFTX); //清除發(fā)送寄存器的值
          CSN_HIGH;
          }
          }
          }

          void dat_int(void)
          {
          CSN_LOW;
          _nop_();
          CSN_HIGH;
          c=0;
          }


          上一頁 1 2 下一頁

          關(guān)鍵詞: RF1100SE單片機(jī)C8051F31

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();