stary666 发表于 2018-4-17 13:44:23

【LoRa模块测评】主从控制LED

接上篇:【LoRa模块测评】实现模块互相通信




折腾了2天,终于可以登录论坛了,下面开始把上午的成果分享一下。
主要是实现主从控制LED的翻转,接线还是和之前一样,主要实现过程是
主机发送控制指令,从机接收到指令后,实现LED的翻转
先实现主机部分:

<font size="3">u8 sendCMD[]={0x31,0x0d,0x0a};</font>上面是往从机发送指令,指令为0x31,在接收端第4位,
下面是从机部分:
从机串口接收部分
<font size="3">
u8 USART6_RX_BUF;   //接收缓冲,最大USART_REC_LEN个字节.
u16 USART6_RX_STA=0;
void USART6_IRQHandler(void)
{
    u8 res;      
#if SYSTEM_SUPPORT_OS               //如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
      OSIntEnter();   
#endif
      if(USART6->SR&(1<<5))//接收到数据
      {         
      res=USART6->DR;   
                uart1_sendbyte(res);
      if((USART6_RX_STA&0x8000)==0)//接收未完成
                {
                        if(USART6_RX_STA&0x4000)//接收到了0x0d
                        {
                              if(res!=0x0a)USART6_RX_STA=0;//接收错误,重新开始
                              else USART6_RX_STA|=0x8000;      //接收完成了
                        }else //还没收到0X0D
                        {      
                              if(res==0x0d)USART6_RX_STA|=0x4000;
                              else
                              {
                                        USART6_RX_BUF=res;
                                        USART6_RX_STA++;
                                        if(USART6_RX_STA>(USART_REC_LEN-1))USART6_RX_STA=0;//接收数据错误,重新开始接收         
                              }               
                        }
                }         
      }

#if SYSTEM_SUPPORT_OS         //如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
      OSIntExit();                                                                                          
#endif
}</font>从机主控部分
<font size="3"> M0=0;
    M1=0;
    delay_ms(500);
          while(1)
      {               

      if(USART6_RX_STA&0x8000)
      {
            USART6_RX_STA=0;
            if(USART6_RX_BUF==0x31)
                GPIOF->ODR ^= PIN9|PIN10;   
      }
      } </font>

下载到板卡后,从机的LED实现了定期翻转,见视频


由于录制的视频为mp4格式,不会上传,





补充内容 (2018-4-17 13:46):

主机部分少传的内容
Send_SX1276(1,sendCMD);
delay_ms(5000);

stary666 发表于 2018-4-17 13:45:31

主机部分少传的内容
Send_SX1276(1,sendCMD);
delay_ms(5000);

zero99 发表于 2018-4-17 14:58:57

楼主下次不要发布帖子在【活动专区】,这样就可以二次编辑了哦

stary666 发表于 2018-4-18 08:34:24

好的,看别人都这样发,就也这样了
页: [1]
查看完整版本: 【LoRa模块测评】主从控制LED