Beispiel #1
0
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);	

	}

}
Beispiel #2
0
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);
	}
}