你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1396|回复: 3

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

[复制链接]

100

主题

3617

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2018-4-17 13:44:23 | 显示全部楼层 |阅读模式
接上篇:【LoRa模块测评】实现模块互相通信




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

  1. <font size="3">u8 sendCMD[]={0x31,0x0d,0x0a};</font>
复制代码
上面是往从机发送指令,指令为0x31,在接收端第4位,
下面是从机部分:
从机串口接收部分
  1. <font size="3">
  2. u8 USART6_RX_BUF[USART_REC_LEN];     //接收缓冲,最大USART_REC_LEN个字节.
  3. u16 USART6_RX_STA=0;
  4. void USART6_IRQHandler(void)
  5. {
  6.     u8 res;        
  7. #if SYSTEM_SUPPORT_OS                 //如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
  8.         OSIntEnter();   
  9. #endif
  10.         if(USART6->SR&(1<<5))//接收到数据
  11.         {         
  12.         res=USART6->DR;   
  13.                 uart1_sendbyte(res);
  14.         if((USART6_RX_STA&0x8000)==0)//接收未完成
  15.                 {
  16.                         if(USART6_RX_STA&0x4000)//接收到了0x0d
  17.                         {
  18.                                 if(res!=0x0a)USART6_RX_STA=0;//接收错误,重新开始
  19.                                 else USART6_RX_STA|=0x8000;        //接收完成了
  20.                         }else //还没收到0X0D
  21.                         {        
  22.                                 if(res==0x0d)USART6_RX_STA|=0x4000;
  23.                                 else
  24.                                 {
  25.                                         USART6_RX_BUF[USART6_RX_STA]=res;
  26.                                         USART6_RX_STA++;
  27.                                         if(USART6_RX_STA>(USART_REC_LEN-1))USART6_RX_STA=0;//接收数据错误,重新开始接收         
  28.                                 }                 
  29.                         }
  30.                 }         
  31.         }

  32. #if SYSTEM_SUPPORT_OS         //如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
  33.         OSIntExit();                                                                                          
  34. #endif
  35. }</font>
复制代码
从机主控部分
  1. <font size="3"> M0=0;
  2.     M1=0;
  3.     delay_ms(500);
  4.           while(1)
  5.         {                 

  6.         if(USART6_RX_STA&0x8000)
  7.         {
  8.             USART6_RX_STA=0;
  9.             if(USART6_RX_BUF[3]==0x31)
  10.                 GPIOF->ODR ^= PIN9|PIN10;   
  11.         }
  12.         } </font>
复制代码


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


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

1532331013358.gif



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

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

使用道具 举报

100

主题

3617

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-12-8
 楼主| 发表于 2018-4-17 13:45:31 | 显示全部楼层
主机部分少传的内容
Send_SX1276(1,sendCMD);
delay_ms(5000);
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2018-4-17 14:58:57 | 显示全部楼层
楼主下次不要发布帖子在【活动专区】,这样就可以二次编辑了哦
回复 支持 反对

使用道具 举报

100

主题

3617

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-12-8
 楼主| 发表于 2018-4-18 08:34:24 | 显示全部楼层
好的,看别人都这样发,就也这样了
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版