欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

STM32 EV1527 无线通信 (433) - 无线通信传输模式

最编程 2024-05-03 18:43:20
...
  1. 发送很简单,按照数据格式发就行,就是在处理数据上有所变化。无论想发什么数据,16进制10进制最后都要转化成2进制,01发送,从低位向高位发送。
  2. 初始化函数在发送模式里。
/*
@Description 输出高低电平按EV1527协议  
@mode 逻辑0或1
*/
void S433_SendBit(u8 mode){

    if(mode==1)
    {
        PEout(9)=1;    
        SysTick_Delay_Us(350*3);
        PEout(9)=0;
        SysTick_Delay_Us(350);

    }else if(mode==0)
    {
        PEout(9)=1;    
        SysTick_Delay_Us(350);
        PEout(9)=0;
        SysTick_Delay_Us(350*3);

    }else{
        debug_led(1, LED_TOGGLE);
    }

}

/*
@Description 同步脉冲(或叫引导) 
*/
//同步脉冲 4:124
void Sync_Pulse(){


    PEout(9)=1; 
    SysTick_Delay_Us(350); 
    PEout(9)=0; 
    SysTick_Delay_Us(350*31);

}

/*
@Description 发送码函数调用
@num 24位二进制的 10进制数
*/
//对发送过来的10进制数进行处理 , 根据需求可以更改
void S433_Send(u32 num){
u8 i;
u32 result=24,temp;
temp = num;

Sync_Pulse();

    while(result){
        i = temp%2; //对十进制数取余 结果等于最低位二进制数
        S433_SendBit(i);
        temp = temp/2;//除二取整
        result--;
    }

}