int main(void) { MCU_Init(); LEDG_OFF(); LEDR1_OFF(); LEDR2_OFF(); memset( TxBuf, 0, ( size_t )TxBufSize); //GetChipId(); //获取芯片ID //Flash_Read((uint32_t)0x0800FFF0,gateway_mac,6); //Flash_Read((uint32_t)0x0800FFE0,net_id,2); //Print_Array(gateway_mac,6,s1); //Print_Array(net_id,2,s2); //初始化Radio驱动 Radio = RadioDriverInit( ); Radio->Init( ); Radio->StartRx( ); //printf("The radio have been init!!\r\n"); while(1) { OnSlave(); if(receive_flag==true) { receive_flag=false; Config_Handler(ReceiveBuff); } // IWDG_ReloadCounter(); // SignalBw [0: 7.8kHz, 1: 10.4 kHz, 2: 15.6 kHz, 3: 20.8 kHz, 4: 31.2 kHz,5: 41.6 kHz, 6: 62.5 kHz, 7: 125 kHz, 8: 250 kHz, 9: 500 kHz, other: Reserved] //SX1276LoRaSetSignalBandwidth(8); //SpreadingFactor [6: 64, 7: 128, 8: 256, 9: 512, 10: 1024, 11: 2048, 12: 4096 chips] // SX1276LoRaSetSpreadingFactor( uint8_t factor ); // ErrorCoding [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8] // SX1276LoRaSetErrorCoding( uint8_t value ); //// DMA_Cmd(DMA1_Channel4,ENABLE); //// USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE); } }
int main(void) { uint8_t i; uint8_t ChkSum; cli(); //#asm("cli"); DDRB = 0x00; //PB INPUT; DDRD = 0x00; //PD INPUT; //POWER ON indication: both LEDR and LEDG blink 3 times LEDG_OFF(); LEDR_OFF(); LEDG_OUTPUT(); LEDR_OUTPUT(); for (i=0; i<3; i++) { _delay_ms(200); //Delay_ms(200); LEDG_ON(); LEDR_ON(); _delay_ms(200); //Delay_ms(200); LEDG_OFF(); LEDR_OFF(); } LEDG_OFF(); LEDR_OFF(); RFXX_PORT_INIT(); RF12_INIT(); DDRD |= (1 << RF12_DATA); PORTD |= (1 << RF12_DATA); // SET nFFS pin HI when using TX register DDRD &= ~(1 << DDD2); // PD2(INT0) while (1) { LEDR_ON(); rfxx_wrt_cmd(0x0000); //read status register rfxx_wrt_cmd(0x8239); //!er,!ebb,ET,ES,EX,!eb,!ew,DC ChkSum=0; rf12_send(0xAA); //PREAMBLE rf12_send(0xAA); //PREAMBLE rf12_send(0xAA); //PREAMBLE rf12_send(0x2D); //SYNC HI BYTE rf12_send(0xD4); //SYNC LOW BYTE // send data bytes for (i = 0x30; i<=0x3F; ++i) { rf12_send(i); ChkSum += i; } /* rf12_send(0x30); //DATA BYTE 0 ChkSum+=0x30; rf12_send(0x31); //DATA BYTE 1 ChkSum+=0x31; rf12_send(0x32); ChkSum+=0x32; rf12_send(0x33); ChkSum+=0x33; rf12_send(0x34); ChkSum+=0x34; rf12_send(0x35); ChkSum+=0x35; rf12_send(0x36); ChkSum+=0x36; rf12_send(0x37); ChkSum+=0x37; rf12_send(0x38); ChkSum+=0x38; rf12_send(0x39); ChkSum+=0x39; rf12_send(0x3A); ChkSum+=0x3A; rf12_send(0x3B); ChkSum+=0x3B; rf12_send(0x3C); ChkSum+=0x3C; rf12_send(0x3D); ChkSum+=0x3D; rf12_send(0x3E); ChkSum+=0x3E; rf12_send(0x3F); //DATA BYTE 15 ChkSum+=0x3F; */ rf12_send(ChkSum); //send chek sum rf12_send(0xAA); //DUMMY BYTE rf12_send(0xAA); //DUMMY BYTE rf12_send(0xAA); //DUMMY BYTE rfxx_wrt_cmd(0x8201); LEDR_OFF(); LEDG_OFF(); //for(i=0;i<10000;i++) // for(j=0;j<123;j++); //sleep 1 second appr. _delay_ms(1000); } }