void comm_cc2520_init(void) { tx_slot_read = 0; tx_slot_write = 0; // rf halAssyInit(); basicRfConfig.panId = CC2520_PAN_ID; basicRfConfig.channel = CC2520_RF_CHANNEL; basicRfConfig.ackRequest = FALSE; basicRfConfig.myAddr = CC2520_NODE_ADDRESS; #ifdef SECURITY_CCM basicRfConfig.securityKey = rf_security_key; #endif if(basicRfInit(&basicRfConfig) == FAILED) { for(;;) {} } basicRfReceiveOn(); chThdCreateStatic(rx_thread_wa, sizeof(rx_thread_wa), NORMALPRIO, rx_thread, NULL); chThdCreateStatic(tx_thread_wa, sizeof(tx_thread_wa), NORMALPRIO, tx_thread, NULL); }
void main(void) { halMcuInit(); hal_led_init(); hal_uart_init(); //Uart0Init(0, 0); printf("s rssi: d\r\n"); //Uart0Init(unsigned char StopBits,unsigned char Parity) if (FAILED == halRfInit()) { HAL_ASSERT(FALSE); } // Config basicRF basicRfConfig.panId = PAN_ID; basicRfConfig.channel = RF_CHANNEL; basicRfConfig.ackRequest = TRUE; #ifdef SECURITY_CCM basicRfConfig.securityKey = key; #endif // Initialize BasicRF #if NODE_TYPE basicRfConfig.myAddr = SEND_ADDR; #else basicRfConfig.myAddr = RECV_ADDR; #endif if(basicRfInit(&basicRfConfig)==FAILED) { HAL_ASSERT(FALSE); } #if NODE_TYPE //uWaveInit(); dht11_io_init(); rfSendData(); #else rfRecvData(); #endif }
//------------------------------------------- // Set Up Basic RF //------------------------------------------- static void basicRfSetUp() { // Config basicRF basicRfConfig.panId = PAN_ID; basicRfConfig.channel = RF_CHANNEL; basicRfConfig.ackRequest = TRUE; #ifdef SECURITY_CCM basicRfConfig.securityKey = key; #endif basicRfConfig.myAddr = DONGLE_ADDR; // Initialize BasicRF if(basicRfInit(&basicRfConfig)==FAILED) { HAL_ASSERT(FALSE); } }
void main(void) { halMcuInit(); hal_led_init(); hal_uart_init(); printf("你知道串口是正常的.....\r\n"); if (FAILED == halRfInit()) { HAL_ASSERT(FALSE); } // Config basicRF basicRfConfig.panId = PAN_ID; basicRfConfig.channel = RF_CHANNEL; basicRfConfig.ackRequest = TRUE; #ifdef SECURITY_CCM basicRfConfig.securityKey = key; #endif // Initialize BasicRF #if NODE_TYPE basicRfConfig.myAddr = SEND_ADDR; #else basicRfConfig.myAddr = RECV_ADDR; #endif if(basicRfInit(&basicRfConfig)==FAILED) { HAL_ASSERT(FALSE); } #if NODE_TYPE dht11_io_init(); InitialT1test(); rfSendData(); #else printf("接收数据\r\n"); rfRecvData(); #endif }
static void appSwitch() { /****************************************************************by boo halLcdWriteLine(HAL_LCD_LINE_1, "Switch"); halLcdWriteLine(HAL_LCD_LINE_2, "Joystick Push"); halLcdWriteLine(HAL_LCD_LINE_3, "Send Command");*/ #ifdef ASSY_EXP4618_CC2420 halLcdClearLine(1); halLcdWriteSymbol(HAL_LCD_SYMBOL_TX, 1); #endif // Initialize BasicRF basicRfConfig.myAddr = SWITCH_ADDR; if(basicRfInit(&basicRfConfig)==FAILED) { HAL_ASSERT(FALSE); } pTxData[0] = LIGHT_TOGGLE_CMD; // Keep Receiver off when not needed to save power basicRfReceiveOff(); // Main loop while (TRUE) { //if( halJoystickPushed() )**********************by boo if(halButtonPushed()==HAL_BUTTON_1)//**************by boo { basicRfSendPacket(LIGHT_ADDR, pTxData, APP_PAYLOAD_LENGTH); P1_1=~P1_1; // Put MCU to sleep. It will wake up on joystick interrupt halIntOff(); halMcuSetLowPowerMode(HAL_MCU_LPM_3); // Will turn on global // interrupt enable halIntOn(); } } }
int main(void) { #error "Hi, Currently not working, still to be tested! - I didn't find time to debug it! " //halIntOn(); unsigned long pktsSent = 0; perConfig.mode = PER_MODE_TX; perConfig.state = PER_IDLE; perConfig.channel = 26; perConfig.txPower = 0; // Index 0. Max output perConfig.burstSize = 1000000; // Max value perConfig.pktRate = 20; // 20 pkts per second perConfig.gainMode = PER_GAIN_MODE_NONE; // No PA/LNA // // Config basicRF // basicRfConfig.panId = PAN_ID; basicRfConfig.ackRequest = false; if(basicRfInit(&basicRfConfig) == FAILED) { while(1); } basicRfReceiveOff(); halRfSetTxPower(0); // appTimerConfig(20); halTimer32kInit(32768/20); halTimer32kIntConnect(&appTimerIsr); // Connect ISR halTimer32kIntEnable(); // Enable interrupts while(1) { if(perConfig.state == PER_TRANSMIT) { if(pktsSent < perConfig.burstSize) { // // Make sure sequence number has network byte order // UINT32_HTON(tTxPacket.seqNumber); basicRfSendPacket(RX_ADDR, (unsigned char*)&tTxPacket, PACKET_SIZE); // // Change byte order back to host order before increment // UINT32_NTOH(tTxPacket.seqNumber); // // Update variables // tTxPacket.seqNumber++; pktsSent++; perConfig.state = PER_PACKET_RECEIVED; // // Update LED // // bspLedToggle(BSP_LED_1); } else { // // Done sending packets, exit TX loop // break; } } } }