⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ia443x_demo.lst

📁 silicon wireless开发套件F920+Si4432原理图,源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 192   3                                      StopTmr3();
 193   3                                      if( --LongDelay == 0 )
 194   3                                      {
 195   4                                              DemoStates = sDemoInitRf;
 196   4                                              return;
 197   4                                      }
 198   3                                      else
 199   3                                      {//restart timer
 200   4                                              DemoTimer.U16 = START_SCREEN_DELAY;
 201   4                                              StartTmr3(START_SCREEN_DELAY_DIV, DemoTimer, FALSE);
 202   4                                      }
 203   3                              }
 204   2                              //enable the hidden menu if needed
 205   2                              if( (PB1_PIN == 0) && (PB2_PIN == 0) )
 206   2                              {       //wait for releasing the buttons
 207   3                                      while( (PB1_PIN == 0) && (PB2_PIN == 0) );
 208   3                                      //enable the hidden menu
 209   3                                      MenuItems.name.show_hidden_menu = TRUE;
 210   3                                      DemoStates = sDemoInitRf;
 211   3                                      return;
 212   3                              }
 213   2                              //skip the start screen if any of the PB is pressed
 214   2                              if( (PB1_PIN == 0) || (PB2_PIN == 0) || (PB3_PIN == 0) || (PB4_PIN == 0) )
 215   2                              {
 216   3                                      while( (PB1_PIN == 0) || (PB2_PIN == 0) || (PB3_PIN == 0) || (PB4_PIN == 0) );
 217   3                                      DemoStates = sDemoInitRf;
 218   3                              }
 219   2                      break;
 220   2      
 221   2                      case sDemoInitRf:
 222   2                              if( SpiReadByteFromTestcardEEPROM( EE_ADDRESS_FIRST_PLUG ) == 0xFF )
 223   2                              {//no data is saved previously into the EEPROM
 224   3                                      //reset menu variables
 225   3                                      for(i=0;i<NMBR_OF_MENU_ITEM;i++) MenuItems.value[i] = 0;
 226   3                                      //-> set destination ID equal to the source ID
 227   3                                      MenuItems.name.dest_id = (uint8)(TestcardData.serial_nmbr & 0x00FF);
 228   3                                      MenuItems.name.self_id = (uint8)(TestcardData.serial_nmbr & 0x00FF);
 229   3                                      MenuItems.name.max_packets = 4;
 230   3                              }
 231   2                              else
 232   2                              {//read menu items from the EEPROM
 233   3                                      for(i=0;i<NMBR_OF_MENU_ITEM-1;i++)
 234   3                                      {
 235   4                                              MenuItems.value[i] = SpiReadByteFromTestcardEEPROM(EE_ADDRESS_FIRST_PLUG + i + 1);
 236   4                                      }
 237   3                                      MenuItems.name.self_id = (uint8)(TestcardData.serial_nmbr & 0x00FF);
 238   3                              }                                               
 239   2                              ChangeSettingsIfNotvalid();
 240   2      
 241   2                              MenuSetCursorPosition(0);
C51 COMPILER V8.00   IA443X_DEMO                                                           11/17/2008 10:50:31 PAGE 5   

 242   2                              DemoStates = sDemoSettingScreen;
 243   2                      break;
 244   2      
 245   2                      case sDemoSettingScreen:
 246   2                              //draw first setting page
 247   2                              PerformMenu( sMenuDrawSystemFunctionScreen );
 248   2                              DemoStates = sDemoChangeSP1;
 249   2                      break;
 250   2      
 251   2                      case sDemoChangeSP1:
 252   2                              switch( PerformMenu(sMenuChangeSystemFunction) )
 253   2                              {
 254   3                                      case UPDATE_PAGE:       DemoStates = sDemoSettingScreen; break;
 255   3                                      case NEXT_PAGE:         
 256   3                                              DemoStates = sDemoDrawSP2;               
 257   3                                              MenuSetCursorPosition(0);
 258   3                                      break;
 259   3                                      default: break;
 260   3                              }
 261   2                      break;
 262   2      
 263   2                      case sDemoDrawSP2:
 264   2                              PerformMenu( sMenuDrawRfParametersScreen );
 265   2                              DemoStates = sDemoChangeSP2;
 266   2                      break;
 267   2      
 268   2                      case sDemoChangeSP2:
 269   2                              switch( PerformMenu(sMenuChangeRfParameters) )
 270   2                              {
 271   3                                      case UPDATE_PAGE:       DemoStates = sDemoDrawSP2; break;
 272   3                                      case NEXT_PAGE:         
 273   3                                              DemoStates = sDemoDrawSP3;                      
 274   3                                              MenuSetCursorPosition(1);
 275   3                                      break;
 276   3                                      default: break;
 277   3                              }
 278   2                      break;
 279   2      
 280   2                      case sDemoDrawSP3:
 281   2                              PerformMenu( sMenuDrawNodeParametersScreen );
 282   2                              DemoStates = sDemoChangeSP3;
 283   2                      break;
 284   2      
 285   2                      case sDemoChangeSP3:
 286   2                              switch( PerformMenu( sMenuChangeNodeParameters ) )
 287   2                              {
 288   3                                      case UPDATE_PAGE:       DemoStates = sDemoDrawSP3; break;
 289   3                                      case NEXT_PAGE:
 290   3                                              if(MenuItems.name.show_hidden_menu == TRUE) DemoStates = sDemoDrawSP4; 
 291   3                                              else DemoStates = sDemoDefineDemoOrTest;
 292   3                                              MenuSetCursorPosition(0);
 293   3                                      break;
 294   3                                      default: break;
 295   3                              }
 296   2                      break;
 297   2      
 298   2                      case sDemoDrawSP4:
 299   2                              PerformMenu( sMenuDrawHiddenScreen );
 300   2                              DemoStates = sDemoChangeSP4;
 301   2                      break;
 302   2      
 303   2                      case sDemoChangeSP4:
C51 COMPILER V8.00   IA443X_DEMO                                                           11/17/2008 10:50:31 PAGE 6   

 304   2                              switch( PerformMenu( sMenuChangeHiddenScreen ) )
 305   2                              {
 306   3                                      case UPDATE_PAGE:       DemoStates = sDemoDrawSP4; break;
 307   3                                      case NEXT_PAGE:         DemoStates = sDemoDefineDemoOrTest; break;
 308   3                                      default: break;
 309   3                              }
 310   2                      break;
 311   2      
 312   2                      case sDemoDefineDemoOrTest:
 313   2                              ChangeSettingsIfNotvalid();
 314   2                              //save the settings into the EEPROM
 315   2                              for(i=0;i<NMBR_OF_MENU_ITEM;i++)
 316   2                              {
 317   3                                      SpiWriteByteToTestcardEEPROM((EE_ADDRESS_FIRST_PLUG + i + 1), MenuItems.value[i]);
 318   3                              }
 319   2                              SpiWriteByteToTestcardEEPROM(EE_ADDRESS_FIRST_PLUG, 1);
 320   2                              //deefine the next state
 321   2                              if( MenuItems.name.system_function == DEMO_MODE ) 
 322   2                              {
 323   3                                      switch( MenuItems.name.demo_mode )
 324   3                                      {
 325   4                                              case DEMO_MODE_TRX: DemoStates = sDemoRestartDemo;              break;
 326   4                                              case DEMO_MODE_TX:      DemoStates = sDemoRestartTxDemo;        break;
 327   4                                              case DEMO_MODE_RX:      DemoStates = sDemoRestartRxDemo;        break;
 328   4                                              default:                        DemoStates = sDemoRestartDemo;          break;                  
 329   4                                      }
 330   3                              }
 331   2                              else 
 332   2                              {
 333   3                                      switch( MenuItems.name.lab_mode )
 334   3                                      {
 335   4                                              case LAB_MODE_CW:       DemoStates = sDemoStartCW;                      break;
 336   4                                              case LAB_MODE_PN9:      DemoStates = sDemoStartPN9;                     break;
 337   4                                              case LAB_MODE_BER:      DemoStates = sDemoStartBER;                     break;
 338   4                                              case LAB_MODE_PER:      DemoStates = sDemoStartPER;                     break;
 339   4                                              default:                        DemoStates = sDemoStartCW;                      break;
 340   4                                      }
 341   3                              }                       
 342   2                              /*************************************/
 343   2                              /* initialize RF stack and variables */
 344   2                              /*************************************/
 345   2                              SetRadio();
 346   2                              //clear flags and variables
 347   2                              NmbrOfSentPackets = 0;
 348   2                              NmbrOfReceivedPackets = 0;
 349   2                              NmbrOfMissedPackets = 0;
 350   2                              LastPacketId = 0;
 351   2                              AutoTx = FALSE;
 352   2                              fWaitForPacketOrAck = PING_PACKET;
 353   2                              fChangeDemoStates = FALSE;
 354   2                              LED_TX = 0;
 355   2                              LED_RX = 0;
 356   2                              BLED_PIN = 0;
 357   2                      break;
 358   2      
 359   2              /*Extra function for CW-TEST mode*/     
 360   2                      case sDemoStartCW:
 361   2                              PerformMenu( sMenuCWStartScreen );
 362   2                              //SET direct modulation mode: CW
 363   2                              rf_param[0] = TX_CLK_ON_GPIO | MOD_TYPE_CW;
 364   2                              RFSetParameter(pRfModulation, rf_param, 1);
 365   2                              //disable packet handler
C51 COMPILER V8.00   IA443X_DEMO                                                           11/17/2008 10:50:31 PAGE 7   

 366   2                              rf_param[0] = TX_PACKET_HANDLER_DIS | CRC_DIS;
 367   2                              RFSetParameter(pRfPacketHandler,rf_param,1);    
 368   2                              //start CW mode
 369   2                              RFDirectTransmit();
 370   2                              //next state
 371   2                              DemoStates = sDemoCheckSettingButton;
 372   2                      break;
 373   2      
 374   2                      case sDemoCheckSettingButton:
 375   2                              if( PB3_PIN == 0 || PB4_PIN == 0 )
 376   2                              {
 377   3                                      while( PB3_PIN == 0 || PB4_PIN == 0 );
 378   3                                      //goto setting page
 379   3                                      MenuSetCursorPosition(0);
 380   3                                      DemoStates = sDemoSettingScreen;
 381   3                                      return;                         
 382   3                              }
 383   2                      break;
 384   2      
 385   2              /*Extra function for PN9-TEST mode*/
 386   2                      case sDemoStartPN9:
 387   2                              PerformMenu( sMenuPN9StartScreen );
 388   2                              //SET direct modulation mode: PN9
 389   2                              temp8 = SpiRfReadRegister( ModulationModeControl2 );
 390   2                              temp8 &= 0x0F;
 391   2                              temp8 += TX_CLK_ON_GPIO | MOD_PN9; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -