亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? radio.lst

?? 基于nRF9E5的無線通訊程序,該程序使用LM35做溫度檢測,并通過915M無線頻率向外發射.適合做無線通訊的應用.
?? LST
字號:
C51 COMPILER V7.50   RADIO                                                                 05/14/2006 13:37:20 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE RADIO
OBJECT MODULE PLACED IN radio.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE radio.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*= radio.c ========================================================================================
   2           *
   3           * Copyright (C) 2004 Nordic Semiconductor
   4           *
   5           * This file is distributed in the hope that it will be useful, but WITHOUT WARRANTY OF ANY KIND.
   6           *
   7           * Author(s): Ole Saether
   8           *
   9           * DESCRIPTION:
  10           *
  11           *  Packet format:
  12           *
  13           *  [4 byte address][1 byte msg ID][0-25 bytes msg data][16 bit CRC]
  14           *
  15           *
  16           * COMPILER:
  17           *
  18           *   This program has been tested with Keil C51 V7.08
  19           *
  20           * $Revision: 6 $
  21           *
  22           *==================================================================================================
  23          */
  24          #include <Nordic\reg9e5.h>
  25          #include "util.h"
  26          #include "radio.h"
  27          
  28          #define HFREQ 1     // 0=433MHz, 1=868/915MHz    19/08/2004 set 915mhz
  29          #define POWER 3     // 0=min power...3 = max power
  30          unsigned char TransmitPacket1(unsigned char *pBuf,unsigned char *pBuf1);
  31          unsigned char ReceivePacket1(unsigned char *pBuf,unsigned char *pBuf1);
  32          static void SwitchChannelAA(void);
  33          const unsigned char code rnd_tab[256] =
  34          {
  35              // This table contains four each of the numbers 2 to 65 (0x02-0x41) randomly distributed.
  36              // If you need longer random cycles than this you could use an 8-bit pseudo random generator
  37              // and use it to index this table.
  38              0x28, 0x29, 0x38, 0x07, 0x19, 0x17, 0x2F, 0x1F, 0x14, 0x16, 0x1F, 0x06, 0x38, 0x1B, 0x3B, 0x33,
  39              0x33, 0x2F, 0x37, 0x1A, 0x32, 0x15, 0x19, 0x34, 0x1B, 0x2D, 0x13, 0x02, 0x3F, 0x18, 0x10, 0x10,
  40              0x0A, 0x1D, 0x0D, 0x37, 0x3D, 0x0B, 0x2A, 0x25, 0x1F, 0x20, 0x41, 0x21, 0x2F, 0x2A, 0x36, 0x09,
  41              0x1C, 0x2C, 0x0F, 0x1E, 0x39, 0x03, 0x06, 0x03, 0x2B, 0x0A, 0x1D, 0x02, 0x24, 0x3A, 0x32, 0x10,
  42              0x16, 0x16, 0x13, 0x12, 0x20, 0x06, 0x13, 0x1F, 0x0D, 0x41, 0x1E, 0x08, 0x3D, 0x31, 0x09, 0x16,
  43              0x23, 0x12, 0x2D, 0x12, 0x31, 0x1C, 0x36, 0x0B, 0x11, 0x21, 0x37, 0x13, 0x38, 0x41, 0x0B, 0x32,
  44              0x1B, 0x33, 0x20, 0x29, 0x0E, 0x05, 0x41, 0x1E, 0x05, 0x0C, 0x38, 0x1D, 0x20, 0x2F, 0x29, 0x39,
  45              0x3D, 0x04, 0x26, 0x10, 0x12, 0x36, 0x3B, 0x08, 0x3D, 0x3C, 0x1A, 0x24, 0x08, 0x07, 0x35, 0x15,
  46              0x2A, 0x40, 0x2C, 0x11, 0x31, 0x28, 0x2A, 0x1E, 0x02, 0x07, 0x19, 0x32, 0x28, 0x39, 0x1A, 0x28,
  47              0x19, 0x22, 0x03, 0x21, 0x39, 0x09, 0x03, 0x0F, 0x3E, 0x2D, 0x0D, 0x37, 0x18, 0x3E, 0x09, 0x25,
  48              0x26, 0x11, 0x36, 0x1A, 0x18, 0x25, 0x3E, 0x29, 0x08, 0x3C, 0x2B, 0x33, 0x02, 0x0A, 0x05, 0x0A,
  49              0x1C, 0x2C, 0x07, 0x23, 0x3E, 0x1B, 0x3F, 0x2E, 0x3B, 0x31, 0x2B, 0x24, 0x35, 0x26, 0x1D, 0x2E,
  50              0x11, 0x3C, 0x15, 0x2B, 0x15, 0x24, 0x2C, 0x27, 0x0D, 0x34, 0x14, 0x23, 0x21, 0x04, 0x3A, 0x27,
  51              0x0F, 0x40, 0x27, 0x0B, 0x30, 0x2E, 0x17, 0x25, 0x3C, 0x34, 0x40, 0x34, 0x0C, 0x2D, 0x30, 0x18,
  52              0x40, 0x0F, 0x22, 0x26, 0x27, 0x3F, 0x30, 0x22, 0x30, 0x3F, 0x23, 0x14, 0x3A, 0x14, 0x3B, 0x0C,
  53              0x06, 0x04, 0x05, 0x3A, 0x35, 0x0E, 0x0E, 0x0C, 0x17, 0x1C, 0x35, 0x0E, 0x04, 0x2E, 0x17, 0x22
  54          };
  55          
C51 COMPILER V7.50   RADIO                                                                 05/14/2006 13:37:20 PAGE 2   

  56          static unsigned char seq, hopIdx, nBytes,PXX;
  57          static unsigned rxTout, txTout;
  58          
  59          static void SwitchChannel(void)
  60          {
  61   1          RACSN = 0;
  62   1          SpiReadWrite(CC | (POWER << 2) | (HFREQ << 1));
  63   1          SpiReadWrite(rnd_tab[hopIdx]);
  64   1          RACSN = 1;
  65   1      }
  66          
  67          static void TransmitBytes(unsigned char *pBuf, unsigned char msgid)
  68          {
  69   1          // Transmit one packet with the format specified in the header of this file:
  70   1          unsigned char i;
  71   1          PXX=pBuf[19];
  72   1          SwitchChannelAA();
  73   1          TXEN = 1;
  74   1          RACSN = 0;
  75   1          SpiReadWrite(WTP);
  76   1          SpiReadWrite(msgid);
  77   1          for (i=0;i<nBytes;i++)
  78   1          {
  79   2              SpiReadWrite(pBuf[i]);
  80   2          }
  81   1          RACSN = 1;
  82   1          TRX_CE = 1;
  83   1          Delay100us(1);
  84   1          TRX_CE = 0;
  85   1          while(DR == 0)
  86   1              ;
  87   1      }
  88          
  89          static void SendAck(unsigned char msgid)
  90          {
  91   1          // Send a one byte acknowledge
  92   1          SwitchChannel();
  93   1          TXEN = 1;
  94   1          RACSN = 0;
  95   1          SpiReadWrite(WTP);
  96   1          SpiReadWrite(msgid);
  97   1          RACSN = 1;
  98   1          TRX_CE = 1;
  99   1          Delay100us(1);
 100   1          TRX_CE = 0;
 101   1          while(DR == 0)
 102   1              ;
 103   1      }
 104          
 105          static unsigned char ReceiveBytes(unsigned char *pBuf)
 106          {
 107   1          unsigned char i, cmd;
 108   1      
 109   1          SwitchChannel();
 110   1          TXEN = 0;
 111   1          TRX_CE = 1;
 112   1          ResetTimer(1);
 113   1          while(DR == 0)
 114   1          {
 115   2              if ((rxTout != 0) && (GetTimer(1) > rxTout))
 116   2              {
 117   3                  TRX_CE = 0;
C51 COMPILER V7.50   RADIO                                                                 05/14/2006 13:37:20 PAGE 3   

 118   3                  return 0;
 119   3              }
 120   2          }
 121   1          TRX_CE = 0;
 122   1          RACSN = 0;
 123   1          SpiReadWrite(RRP);
 124   1          cmd = SpiReadWrite(0);
 125   1          i = 0;
 126   1          while(DR)
 127   1          {
 128   2              pBuf[i++] = SpiReadWrite(0);
 129   2              if (i == nBytes)                        // Play safe
 130   2                  break;
 131   2          }
 132   1          RACSN = 1;
 133   1          return cmd;
 134   1      }
 135          
 136          static unsigned char WaitAck(void)
 137          {
 138   1          unsigned char ack;
 139   1      
 140   1          SwitchChannel();
 141   1          TXEN = 0;
 142   1          TRX_CE = 1;
 143   1      
 144   1          ResetTimer(0);
 145   1          while(DR == 0)
 146   1          {
 147   2              if (GetTimer(0) > 20)                    // 3ms time-out
 148   2              {
 149   3                  TRX_CE = 0;
 150   3                  return 0;
 151   3              }
 152   2          }
 153   1          TRX_CE = 0;
 154   1          RACSN = 0;
 155   1          SpiReadWrite(RRP);
 156   1          ack = SpiReadWrite(0);
 157   1          RACSN = 1;    
 158   1          return ack;
 159   1      }
 160          
 161          unsigned char TransmitPacket(unsigned char *pBuf)
 162          {
 163   1          unsigned int i;
 164   1          unsigned char cmdt, cmdr, j;
 165   1      
 166   1          seq++;
 167   1          cmdt = 0x10 | (seq & 0x0f);
 168   1          cmdr = 0;
 169   1          ResetTimer(1);
 170   1          for(;;)
 171   1          {
 172   2              for (i=0;i<3;i++)
 173   2              {
 174   3                  // Repeat two times on all channels if no ACK is received
 175   3                  for (j=0;j<2;j++)
 176   3                  {
 177   4                      TransmitBytes(pBuf, cmdt);
 178   4                      cmdr = WaitAck();
 179   4                      //if ((cmdr != 0) && ((cmdr & 0x0f) == (cmdt & 0x0f)))
C51 COMPILER V7.50   RADIO                                                                 05/14/2006 13:37:20 PAGE 4   

 180   4                       if (cmdr != 0) 
 181   4                      {
 182   5                       //   hopIdx++;        not hop 19/08/2004
 183   5                          return 1;
 184   5                      }
 185   4                  }
 186   3                 // hopIdx++;  not hop 19/08/2004
 187   3                  if ((txTout != 0) && (GetTimer(1) > txTout))
 188   3                      return 0;
 189   3              }
 190   2          }
 191   1          return 0;
 192   1      }
 193          
 194          unsigned char ReceivePacket(unsigned char *pBuf)
 195          {
 196   1          unsigned char cmd;
 197   1          while(1)
 198   1          {
 199   2              cmd = ReceiveBytes(pBuf);
 200   2              if (cmd == 0)
 201   2                  return 0;
 202   2              cmd = (cmd & 0x0f) | 0x20;
 203   2              SendAck(cmd);
 204   2                        Delay100us(1);
 205   2                SendAck(cmd);
 206   2                Delay100us(10);
 207   2                SendAck(0X20);
 208   2             // hopIdx++;     not hop 19/08/2004
 209   2              if ((cmd & 0x0f) != seq)
 210   2              {
 211   3                  seq = cmd & 0x0f;
 212   3                  break;
 213   3              }
 214   2          }
 215   1          return 1;
 216   1      }
 217          
 218          //void ReceiverTimeout(unsigned tOut)
 219          //{
 220              // Set the receiver timeout in ms.
 221              // 1ms = min timeout, 65536ms is max, 0 means wait forever
 222          //    rxTout = tOut;
 223          //}
 224          
 225          //void TransmitterTimeout(unsigned tOut)
 226          //{
 227              // Set the transmitter timeout in ms.
 228              // 1ms is min timeout, 65536ms is max, 0 means wait forever
 229          //    txTout = tOut;
 230          //}
 231          
 232          static void InitAddress(unsigned char spiAddr, unsigned char *pAddr)
 233          {
 234   1          unsigned char i;
 235   1          RACSN = 0;
 236   1          SpiReadWrite(spiAddr);
 237   1          for(i=0;i<4;i++)
 238   1              SpiReadWrite(pAddr[i]);
 239   1          RACSN = 1;
 240   1      }
 241          
C51 COMPILER V7.50   RADIO                                                                 05/14/2006 13:37:20 PAGE 5   

 242          static void InitCommon(unsigned char nRx, unsigned char nTx)
 243          {
 244   1          hopIdx = 0;                                 // Start at index #0 in the channel table above
 245   1          RACSN = 0;
 246   1          SpiReadWrite(WRC | 0x03);                   // Write to RF config address 3 (RX payload)
 247   1          SpiReadWrite(nRx);
 248   1          SpiReadWrite(nTx);
 249   1          RACSN = 1;
 250   1      }
 251          
 252          void InitReceiver(unsigned char n, unsigned char *pAddr)
 253          {
 254   1          seq = 15;
 255   1          rxTout = 3000;                              // Default 3s timeout
 256   1          nBytes = n;                                 // Number of data bytes (0-25)
 257   1          InitCommon(n+1, 1);
 258   1          if (pAddr != 0)
 259   1              InitAddress(WRC | 0x05, pAddr);         // Configure RX address
 260   1      }
 261          
 262          void InitTransmitter(unsigned char n, unsigned char *pAddr)
 263          {
 264   1          seq = 0;
 265   1          txTout = 3000;                              // Default 3s timeout
 266   1          nBytes = n;                                 // Number of data bytes (0-25)
 267   1          InitCommon(1, n+1);
 268   1          if (pAddr != 0)
 269   1              InitAddress(WTA, pAddr);                // Configure TX address
 270   1      }
 271          //----------------------------SEND BRODCAST  get ID--------------------------------
 272          static void SwitchChannelAA(void)
 273          {
 274   1          RACSN = 0;
 275   1          SpiReadWrite(CC | (PXX << 2) | (HFREQ << 1));
 276   1          SpiReadWrite(rnd_tab[hopIdx]);
 277   1          RACSN = 1;
 278   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    652    ----
   CONSTANT SIZE    =    256    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8      35
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av综合在线播放| 久久久久久久久岛国免费| 国产电影一区二区三区| 精品无码三级在线观看视频| 调教+趴+乳夹+国产+精品| 亚洲一二三四久久| 一区二区三区波多野结衣在线观看 | 亚洲欧洲在线观看av| 国产午夜亚洲精品午夜鲁丝片| 欧美一级二级三级乱码| 欧美不卡123| 国产午夜精品一区二区三区嫩草 | 国产乱理伦片在线观看夜一区| 美女在线观看视频一区二区| 久久国产欧美日韩精品| 蜜臀av一区二区在线免费观看 | 亚洲一区二区三区视频在线| 亚洲制服丝袜av| 日本成人中文字幕在线视频| 久久色视频免费观看| 91麻豆精品国产| 欧美中文字幕一区| 精品视频色一区| 波多野结衣亚洲| 色屁屁一区二区| 欧美乱妇一区二区三区不卡视频| 欧美日韩视频第一区| 精品福利在线导航| 中文av一区二区| 一区二区欧美精品| 久久精品99久久久| 99视频一区二区| 欧美丰满一区二区免费视频| 久久先锋资源网| 一区二区三区成人在线视频| 激情深爱一区二区| 91福利资源站| 欧美日韩久久久| 亚洲自拍偷拍九九九| 国产蜜臀97一区二区三区| 亚洲精品免费在线播放| 琪琪一区二区三区| 99精品久久久久久| 日韩欧美一二三四区| 亚洲欧美电影一区二区| 久久精品国内一区二区三区| 91麻豆swag| 精品国产免费一区二区三区四区 | 日韩精品一区二区三区视频在线观看| 久久九九全国免费| 日韩高清不卡一区二区| caoporn国产精品| 欧美一区二区视频在线观看2020 | 欧美性三三影院| 欧美激情一二三区| 看电影不卡的网站| 在线看国产一区二区| 久久久精品欧美丰满| 日本中文字幕一区| 91久久精品国产91性色tv| 欧美国产欧美亚州国产日韩mv天天看完整| 午夜精品123| 欧美偷拍一区二区| 亚洲人成亚洲人成在线观看图片 | 欧美亚洲国产一区二区三区| 中文在线资源观看网站视频免费不卡 | 欧美—级在线免费片| 国内精品在线播放| 精品国产一区二区三区忘忧草| 亚洲高清不卡在线| 欧美日韩一级二级三级| 一区二区国产视频| 91网址在线看| 综合久久久久久| 99精品国产91久久久久久| 欧美高清在线精品一区| 成人精品视频一区二区三区| 久久久美女毛片| 国产成人午夜视频| 欧美韩国日本一区| 丁香婷婷综合网| 国产精品视频免费看| 99久久久久久| 亚洲综合一区在线| 欧美精品高清视频| 六月丁香婷婷色狠狠久久| 日韩欧美一区中文| 国产综合久久久久久久久久久久 | 粉嫩av一区二区三区粉嫩| 久久久久国色av免费看影院| 国产精品91一区二区| 国产日韩欧美高清在线| 99久久久国产精品| 天天影视涩香欲综合网| 欧美一区二区三区人| 国内一区二区在线| 中文字幕在线观看一区| 在线观看成人小视频| 午夜久久久久久电影| 欧美一级黄色录像| 国产宾馆实践打屁股91| 亚洲欧洲国产专区| 欧美老肥妇做.爰bbww视频| 久久国产精品区| 久久一留热品黄| 成人激情电影免费在线观看| 欧美性大战久久| 国产夜色精品一区二区av| 国产欧美日韩精品在线| 国产精品久久久久久久久图文区| 风间由美一区二区三区在线观看 | 日韩一卡二卡三卡国产欧美| 国产一区二区电影| 亚洲另类春色校园小说| 日韩女优电影在线观看| 色综合一个色综合| 精品一区二区三区在线观看国产| 国产精品免费观看视频| 91麻豆精品国产自产在线| 成人综合激情网| 亚洲午夜影视影院在线观看| 久久久精品综合| 国产女人水真多18毛片18精品视频| 99久久99久久免费精品蜜臀| 欧美大片国产精品| 亚洲在线视频一区| 精品奇米国产一区二区三区| 99精品热视频| 国产伦精品一区二区三区在线观看 | 在线亚洲免费视频| 国产东北露脸精品视频| 日本vs亚洲vs韩国一区三区二区| 国产精品亚洲一区二区三区在线 | 国产九色sp调教91| 一区二区三区在线视频免费 | 成人中文字幕合集| 欧美老肥妇做.爰bbww| 韩国女主播一区| 久久国内精品自在自线400部| 91女厕偷拍女厕偷拍高清| 欧美私人免费视频| 一级精品视频在线观看宜春院 | 亚洲最色的网站| 日韩精品在线一区二区| 在线精品观看国产| 久久久久97国产精华液好用吗 | 欧美成va人片在线观看| 日av在线不卡| 久久综合一区二区| 欧美性欧美巨大黑白大战| 久久久久88色偷偷免费| 天天影视网天天综合色在线播放| 奇米888四色在线精品| 成人国产免费视频| 日韩伦理免费电影| 欧美不卡在线视频| 91丨porny丨中文| 日韩av电影免费观看高清完整版| 欧美日韩大陆一区二区| 国产一区二区三区免费在线观看| 国产精品免费久久| 欧美浪妇xxxx高跟鞋交| 国产成人自拍高清视频在线免费播放| 天天操天天干天天综合网| 欧美亚洲一区三区| 男人的j进女人的j一区| 天堂午夜影视日韩欧美一区二区| 午夜视黄欧洲亚洲| 精品一区二区在线观看| 日本免费在线视频不卡一不卡二| 亚洲chinese男男1069| 婷婷亚洲久悠悠色悠在线播放| 亚洲国产日韩精品| 日韩精品视频网| 久久精品国产在热久久| 国产精品456| 99精品久久只有精品| 欧洲一区二区av| 日韩一区二区免费在线观看| 久久这里只有精品视频网| 国产精品沙发午睡系列990531| 中文字幕乱码久久午夜不卡| 亚洲最色的网站| 另类小说图片综合网| 不卡欧美aaaaa| 欧美日本视频在线| 久久久久久久久久久久久女国产乱| 中文字幕国产一区| 亚洲成av人片在www色猫咪| 久久狠狠亚洲综合| 色婷婷激情综合| 精品久久久久久亚洲综合网| 国产精品久久久久影视| 日韩电影网1区2区| 成人天堂资源www在线| 欧美婷婷六月丁香综合色| 亚洲成人av一区二区| 久久se这里有精品| 91在线一区二区| 日韩免费电影一区|