433MHz通信 发F115 收SYN480R

7 篇文章 0 订阅

平台: STM32F103C8T6

 

芯片F115 发送:

 

数据的发射主要以,低电平的时间来判断,  

下降沿发送数据,以低电平的时间来区别数据0和1。

 

程序中:

发送bbit位1  :   高电平保持 500us  跳变到低电平 保持 450us

发送bbit位0  :   高电平保持 500us  跳变到低电平 保持 1000us

 

 

发送的为一个 32位数据, 数据内容为  CUPID加密运行后的值。

void RF_SendData(u32 Key)
{
		uint8_t i,j;	
	  uint32_t MSB_Temp = 0x00800000;
	  uint32_t Send_data = 0;
	//Send_data2 = 0;
	  static  uint32_t  Lock_Code;

	  Lock_Code=(CpuID[0]>>1)+(CpuID[1]>>2)+(CpuID[2]>>3);
//	  Send_data = (CpuID[0] << 4)|Key;
	  
	  for(i = 0; i < 3; i ++)  //循环发送3次高频数据
	  {
				LED_ON();
        for(j = 0; j < 12; j ++)
        {
            RFOUT_One();
            Delay_US(500);
            RFOUT_Zeor();
            Delay_US(500);
        }
        RFOUT_One();               //发送数据头
        Delay_US(500);
        RFOUT_Zeor();
				LED_OFF();		
				
				for(j = 0; j < 10; j ++)  Delay_US(500);   // 5mS
	
//				Send_data = CpuID[0];
				Send_data = Lock_Code;
//				Send_data= 0x12345678;
				MSB_Temp = 0x80000000;
				for(j = 0; j < 32; j ++)      //发送32bit数据
				{
            if((Send_data & MSB_Temp) != 0)     //数据1
            {

				RFOUT_One();   
                Delay_US(500); 
                RFOUT_Zeor();
                Delay_US(450); 
            }
            else                              //数据0
            {
                RFOUT_One(); 
                Delay_US(500); 
                RFOUT_Zeor();
                Delay_US(1000);                   
            }
            MSB_Temp = MSB_Temp >> 1; 						
				}
				
		

				
				RFOUT_One();   
        Delay_US(1100); 
        RFOUT_Zeor();
				Delay_MS(18);
		}
}

 

SYN480R 接收

 

1,中断接收 bit位,   每100us去检测 SYN480接收脚的状态,及保持电平时间。

 

检测低电平时间在 300us~700us 间时,判定为接收到数据 bit 1

检测低电平时间在 700us~1300us 间时,判定为接收到数据 bit0

//定时中断 100us
void TIM4_IRQHandler (void)
{
	if(TIM_GetITStatus( TIM4, TIM_IT_Update) != RESET ) 
	{	
		TIM_ClearITPendingBit(TIM4 , TIM_FLAG_Update); 
		if(RFFull)  return;		//接收完数据没有处理
		if(!RFin)  {LL_w ++; RFBit = 0;} 	//433接收脚IN, PB1=0 记录低电平长度
		else  // PB1=1       //433接收脚IN, PB1=1
		{
			if(!RFBit)	//RFBit在上句if置0成立 433M接收脚IN发生跳变 PB1=1
			{
				if(First_flag == 0)			//没有同步过初值为0
				{
					if((LL_w > 40)&&(LL_w < 60))	// 4000us < LL_w < 6000us 
					{
						First_flag = 1;
						BitCount = 0; 									 
					}											
				}
				else    //  ÉÏFirst_flag = 1;
				{
					if((LL_w > 3)&&(LL_w <= 7))	    // PB1=0 低电平长度    //300us   700us										
					{
						Buff_B[BitCount/8] = Buff_B[BitCount/8] << 1;      //433M 数据
						Buff_B[BitCount/8] = Buff_B[BitCount/8] | 0x01;  
						BitCount ++; 
//						if(BitCount==24) 
						if(BitCount==32)                                 
						{
							BitCount = 0;
							First_flag = 0;
							RFFull = 1;
						}  										
					}	
					else if((LL_w > 7)&&(LL_w < 13))  
					{
						Buff_B[BitCount/8] = Buff_B[BitCount/8] << 1;    
						BitCount ++;  
//						if(BitCount==24) 												
						if(BitCount==32)           											                   
						{
							BitCount = 0;
							First_flag = 0;                             
							RFFull = 1; 
						}										
					}
					else			//错误
					{
						First_flag = 0;
						BitCount = 0;
						RFFull = 0;											
					}											
				}
				LL_w  = 0;
			}	
			RFBit = 1;		//记录IO状态
		}				
	}
}

 

2,接收到的433MHz数据处理

uint32_t RF_Remote(void)  //433M数据处理
{
  	uint16_t i;
	uint16_t crc;
	uint8_t RF_UartSend[10];
	uint8_t Buffer[5];
    uint32_t  Lock_Code;

		
	for(i = 0; i < 4; i ++)  	//将接收缓存区的数据复制过来
	  Buffer[i] = Buff_B[i];
 
   RFFull = 0; //清楚接收完成标志
}

 

 

资源工程:https://download.csdn.net/download/jiangchao3392/11166623

  • 12
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: SYN480R是一种用于接收433MHz和315MHz无线信号的参考电路。这种参考电路的设计旨在提供高度可靠和高效率的无线信号接收功能。 该参考电路包括一个高频前置放大器,一个混频器,一个射频放大器和一个数字解调器。高频前置放大器负责接收并放大输入的无线信号,混频器将接收到的高频信号与本地振荡器的频率进行混合,产生中频信号。射频放大器进一步放大中频信号,并将其提供给数字解调器。数字解调器对接收到的信号进行解码和处理,最终将信号转换为数字信号输出。 该参考电路采用了先进的技术和材料,以提高接收的灵敏度和抗干扰能力。它还具有低功耗和高可靠性的特点,适用于各种无线通信应用,如遥控器、安防系统和无线传感器网络等。 SYN480R参考电路还可以根据不同的需求进行定制和优化。它可以根据特定的频率范围进行调整,以适应不同频率的无线信号接收。此外,该参考电路还提供了丰富的接口和控制功能,以便与其他电子设备进行连接和通信。 总而言之,SYN480R参考电路是一种高度可靠和高效率的无线信号接收方案,适用于各种无线通信应用。它的设计和功能使其成为无线通信领域的重要组成部分,并有潜力继续展和改进。 ### 回答2: Syn480r是一款工作频率为433MHz和315MHz的射频模块。它采用了一种高集成度的设计,适用于无线遥控、无线数据传输等应用。 Syn480r的参考电路包括几个重要的元件和部分。首先是天线,它用来接收发送无线信号。天线应该与模块正确连接,以确保良好的信号传输。 接下来是射频模块本身,它是Syn480r的核心部分。模块上有接收发送的引脚,分别用来接收来自外部设备的无线信号和发送信号给外部设备。在设计参考电路时,这些引脚需要与外部设备正确连接,以实现正常的信号传输和通信。 除此之外,参考电路中还应包含供电电路。Syn480r需要一定的电源供应才能正常工作。因此,参考电路需要包括合适的电源接口,以连接电池或其他电源,确保模块能够获得稳定的电源。 最后,参考电路中还可能包含其他元件,如继电器、滤波电路等。这些元件可以增强模块的功能或优化信号传输的效果。 总之,Syn480r 433MHz和315MHz的参考电路应正确连接天线、射频模块和供电电路,并可能包含其他元件来增强功能或优化信号传输效果。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值