精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一次小模塊的使用過程-LC12S無線模塊介紹

網絡 通信技術
最近幫人做了個小設備,使用了無線模塊、觸摸芯片,主要功能就是把觸摸按鍵的信號無線傳到控制繼電器輸出,MCU是STM8系列的芯片,其中使用過程中調試無線模塊LC21S覺得挺好用的,就寫了這篇文章。

[[380994]]

前言:

最近幫人做了個小設備,使用了無線模塊、觸摸芯片,主要功能就是把觸摸按鍵的信號無線傳到控制繼電器輸出,MCU是STM8系列的芯片,其中使用過程中調試無線模塊LC21S覺得挺好用的,就寫了這篇文章。

模塊介紹:

LC12S 采用最新 2.4G SOC 技術,特點是免開發,視距 120 米,收發一體無需切換,串口透明傳 輸,提供通信協議,可迅速調試成功。用戶只要了解串口通信,無需復雜的無線通訊知識,就能完成無 線通信產品的開發。沒有數據包大小限制,延時短,半雙工通訊,抗干擾能力強。

  • 2.4GHz ISM 頻段,使用無須申請
  • 最大輸出功率 12dBm
  • 接收靈敏度-95dBm
  • 發射工作電流 40mA@12dBm
  • 接收工作電流 24mA
  • 睡眠電流 3.5uA
  • 標準 TTL 電平 UART 串口
  • 工作頻率可設置,多個模塊頻分復用,互不干擾
  • 通訊協議轉換及射頻收發切換自動完成,用戶無須干預,簡單易用
  • 通訊速率 0.6kbps -38.4kbps,用戶可通過 AT 指令配置

引腳介紹:

引腳 引腳名稱 引腳功能 描述
1 VCC 電源 電源(接 2.2~3.6V)典型 3.3V
2 RXT 模塊數據輸出(TTL 電平) 串口通信數據接收
3 TXD 模塊數據輸入(TTL 電平) 串口通信數據發送
4 SET 設置位 配置參數使能(低電平使能參數配置,高電平進入透傳模式,其中懸空為高電平)
5 CS 休眠 引腳接低電平時工作,高電平進入休眠模式,其中懸空為高電平
6 GND 電源 接地

基本配置:

設置模式:

一旦進入設置狀態,SET 引腳配置必須是低電平,CS 引腳必須接低電平,且串口設置必須是數據位 8,波特率 9600,校驗位 N,停止位 1,空中速率 1Mbps。因為初始化默認設置就是如此,如果后續你設置了自己的波特率,這個時候你需要把串口設置按照你修改后的配置來設置。

透傳模式:

上電后,當 CS引腳接低電,進入工作模式,SET 腳是設置參數標志位,這個時候我們可以進行懸空或者拉高處理,讓模塊進入透傳數據模式。

設置模式數據的協議格式:

在官方的手冊里面有關于協議內容的說明,其中有一些數據是保留位,默認發0x00就可以。

如圖所示,我們可以看到數據長度是18個byte,其中包括設備ID(Self ID)、組網ID(Net ID )、發射功率(RF Power)、通訊波特率設置(Baud 1Byte)、無線通訊通道設置(RF CHN)、設置時的通訊數據長度(Lenght 1Byte)、累加校驗位(CheckSum);其中設置時的通訊數據長度是固定的18byte所以此處默認為0x12。

其他部分的設置參數,在手冊中各有體現,其中組網ID需要按照自己定義的ID區間進行設置,因為這個唯一性會影響到你的模塊組網情況。

其余的設置我設置參數我就不進行截圖表示了,大家可以看一下相應的手冊。

測試設置發送數據:

0xaa+0x5A+模塊 ID+組網 ID(ID 必須相同)+0x00+RF 發射功率+0x00+串口速率 +0x00+RF 信道選擇+0x00+0x00+0x12(字節長度)+0x00+和校驗字節 注意:和校驗字節=所有參數累加的字節

發送: AA 5A 22 33 11 22 00 01 00 04 00 64 00 00 00 12 00 07

--->

參考后面的數據表格,以上配置參數設置無線模塊為:RF 發射功率:10dbm 串口速率:9600bps RF 信道:100 模塊 ID:0x2233 組網 ID:0x1122 和校驗字節:07

接收: 設置完成后模塊會返回相應數據 AA 5B 47 00 11 22 00 01 00 04 00 64 00 00 00 12 00 FA

<---

串口調試助手的信息:

實際設備連接情況:

設置模式接線示意圖:

透傳模式接線示意圖:

代碼實現:

因為模式使用比較簡單,初始化好設備串口外設,再把CS引腳和SET配置一下,就可以開始使用了,如果你只是簡單測試,那你可能只需要使用默認設置,只是進行數據的透傳,那你可以直接忽略這部分設置的代碼部分,直接看nrf_send_normal_data()函數。

設置模式下的代碼:

定義一個設置協議的結構體:

  1. typedef struct __attribute__((__packed__)){ 
  2.     u16 head;                 // 
  3.     u16 self_id;                 // 
  4.     u16 net_id;                 // 
  5.     u8 nc1;               // 
  6.     u8 rf_power;          // 
  7.     u8 nc2;               // 
  8.     u8 rf_baud;          // 
  9.     u8 nc3;               // 
  10.     u8 rf_chn;          // 
  11.     u16 nc4;               // 
  12.     u8 nc5;               // 
  13.     u8 length;               // 
  14.     u8 nc6;               // 
  15. }SetSend;  

拉低SET引腳,進入設置模式:

  1. u8 SetNrf(void)// 
  2.        GPIO_ResetBits(SET_PORT, SET_PIN); 
  3.        GPIO_ResetBits(CS_PORT, CS_PIN); 
  4.  
  5.       u8 *p1 = malloc(18); 
  6.       memset(p1,0x00,18); 
  7.  
  8.       SetSend *p = (SetSend*)p1; 
  9.  
  10.       p->head= 0xaa5A; 
  11.       p->self_id = 0x2233; 
  12.       p->net_id = 0x1122; 
  13.       p->rf_power = 0x00; 
  14.       p->rf_baud = 0x04; 
  15.       p->rf_chn = 0x64; 
  16.       p->length = 0x12;       
  17.       p1[sizeof(SetSend)] = CheckSum((u8*)p, sizeof(SetSend)); 
  18.       USART_Transmit_String( sizeof(SetSend)+1,p1); 
  19.  
  20. #if DEBUG_DPRINT 
  21.       u8 *str = malloc(20); 
  22.       hex_str((u8*)p, sizeof(SetSend)+1, str); 
  23.       USART_Transmit_String(20,str); 
  24. //      printf("--->:%s\r\n", str); 
  25.       free(str); 
  26. #endif 
  27.  
  28.       free(p1); 
  29.       return 1; 
  30.        

數據透傳的函數,這個時候SET引腳拉高,這個函數部分是我自己寫的一個簡單的3byte的sta狀態發送。大家可以按照自己的實際使用情況進行修改。

  1. void nrf_send_normal_data(u16 sta) 
  2.       GPIO_SetBits(SET_PORT, SET_PIN); 
  3.       u8 *p1 = malloc(3); 
  4.       memset(p1,0x00,3); 
  5.       memset(p1,0xAA,1);       
  6.       memcpy(p1+1,&sta,2); 
  7.       USART_Transmit_String(3,p1); 
  8.       free(p1); 
  9.  

芯片初始化之后不能立即使用,需要等待幾十ms才能正常工作,所以需要稍微等待一下。

串口接收解析部分,這部分代碼就仁者見仁智者見智了,大家可以用很多種方法實現,我只是貼了一下我寫的代碼部分,僅供參考。其中NRF_RestTime()函數是在定時器中計時,用來區分不同的數據幀。

  1. u8  USART_RX_BUF[USART_MAX_RECV_LEN]; 
  2. u16 USART_RX_STA=0; 
  3.  
  4. u8 NRF_RecvdData(void) 
  5.  u8 ret = 0; 
  6.  if((USART_RX_STA&(1<<15)) != 0) 
  7.   ret = 1; 
  8.  return ret; 
  9. u16 NRF_RcvLen(void) 
  10.  return (USART_RX_STA & 0x7FFF); 
  11. u8* NRF_RcvBuff(void) 
  12.  return USART_RX_BUF; 
  13.  
  14. void NRF_ClsRecvd(void) 
  15.  USART_RX_STA = 0; 
  16.  
  17.  
  18. typedef struct  __attribute__((__packed__)) 
  19.   u32 stat    :1; 
  20.   u32 timOut  :1; 
  21.   u32 cunt    :15; 
  22.   u32 des     :15; 
  23. }TboxTimTypeDef; 
  24. TboxTimTypeDef gNRFTimeManage; 
  25. #define TON   (1) 
  26. #define TOFF  (0) 
  27.  
  28. void TimerManageInit(TboxTimTypeDef *t,u8 stat,u16 destim) 
  29.   t->des  = destim; 
  30.   t->stat = stat; 
  31.   t->cunt = 0; 
  32.   t->timOut = 0; 
  33. void NRF_RestTime(void) 
  34.       if(gNRFTimeManage.stat == TON) 
  35.       { 
  36.               (gNRFTimeManage.cunt < gNRFTimeManage.des)?(gNRFTimeManage.cunt++):\ 
  37.                       (TimerManageInit(&gNRFTimeManage,TOFF,0),USART_RX_STA |=1<<15); 
  38.       }  
  39.  
  40. void NRF_Irq(void) 
  41.    u8 res;        
  42.  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) 
  43.  {   
  44.   res =USART_ReceiveData8(USART1); 
  45.                 #if 0 
  46.   USART_SendData8(USART1,res); 
  47.   #endif 
  48.  
  49.        
  50.                 if((USART_RX_STA & ~(1<<15))<USART_MAX_RECV_LEN) 
  51.                 { 
  52.                       TimerManageInit(&gNRFTimeManage,TON,5); 
  53.                       USART_RX_BUF[USART_RX_STA++]=res;    
  54.                 }else  
  55.                 { 
  56.                         USART_RX_STA|=1<<15;     
  57.                 }  
  58.           } 
  59.  USART_ClearITPendingBit(USART1,USART_IT_RXNE); 
  60.  
  61. void Parse_NRF(void) 
  62.    
  63.     if(NRF_RcvLen()>2) 
  64.     { 
  65.       u16 len = NRF_RcvLen();  
  66.       u8 *p = NRF_RcvBuff(); 
  67.       u8 pos = 0; 
  68.       u16 *sta = (u16*)(p+1); 
  69.       while(pos < len){ 
  70.         if(*p == 0xAA) 
  71.         { 
  72.            
  73.           relay_ctrl(*sta); 
  74.           p += 3; 
  75.           pos +=3; 
  76.         } 
  77.         else
  78.           p++; 
  79.           pos++; 
  80.         } 
  81.       } 
  82.       USART_RX_STA = 0; 
  83.     } 
  84.    

設備展示

主機端:

從機端:

結語

這就是我分享的LC12S模塊的使用,如果大家有更好的想法和需求,也歡迎大家分享交流哈。

本文轉載自微信公眾號「羽林君」,可以通過以下二維碼關注。轉載本文請聯系羽林君公眾號。

 

責任編輯:武曉燕 來源: 羽林君
相關推薦

2012-01-12 10:01:28

模塊

2022-11-22 13:00:38

2015-08-27 09:15:35

2009-03-20 10:58:47

2023-12-05 08:33:44

滴滴故障k8s

2022-09-14 15:40:03

接口解決

2014-08-01 14:06:45

2022-09-15 10:02:58

測試軟件

2010-09-07 11:16:14

SQL語句

2010-04-12 16:28:41

無線通信模塊

2011-06-28 10:41:50

DBA

2010-03-23 08:56:38

Python隨機數模塊

2023-10-10 12:05:45

2017-12-19 14:00:16

數據庫MySQL死鎖排查

2019-08-26 09:50:09

2020-04-08 10:30:19

Linux 攻擊 安全

2021-11-23 21:21:07

線上排查服務

2018-07-20 08:44:21

Redis內存排查

2021-08-19 09:50:53

Java內存泄漏

2018-04-04 13:59:22

天線無線通信
點贊
收藏

51CTO技術棧公眾號

国产呦精品一区二区三区网站| 成人羞羞视频播放网站| 午夜不卡在线视频| 久久精品二区| 在线免费观看视频网站| 黄色亚洲大片免费在线观看| 亚洲精品永久免费精品| 不卡中文字幕在线观看| av免费在线视| 国产午夜精品久久久久久久| 91精品婷婷国产综合久久蝌蚪| 国产69精品久久久久久久久久| 欧美限制电影| 亚洲国产另类久久精品| 久热在线视频观看| 日韩欧美精品一区二区三区| 亚洲日本一区二区三区| 日本黑人久久| 丁香花免费高清完整在线播放| 人妖欧美一区二区| 亚洲18私人小影院| 男人av资源站| 红桃成人av在线播放| 精品久久久久久久久久久久包黑料| 成人免费在线观看视频网站| 51漫画成人app入口| 欧美激情在线一区二区三区| 精品在线观看一区二区| 99精品视频在线播放免费| 久久久精品五月天| 午夜精品在线观看| 欧美日韩在线观看成人| 成人激情免费视频| 日韩精品中文字幕在线播放| 91亚洲一线产区二线产区| 中文字幕综合| 欧美特级限制片免费在线观看| 日韩欧美一区二| 色网在线观看| 伊人色综合久久天天| 亚洲欧美国产不卡| 黄色av网站在线免费观看| 高清久久久久久| 91国产丝袜在线放| 99热这里只有精品99| 日韩一区精品视频| 国产成人亚洲综合91精品| 97人人澡人人爽人人模亚洲| 极品尤物久久久av免费看| 久热精品视频在线免费观看| 婷婷国产成人精品视频| 精品一级毛片| 中文字幕欧美日韩| av片在线免费看| 日韩精品1区| 中文字幕亚洲情99在线| 免费看裸体网站| 国产精品嫩草影院在线看| 亚洲丝袜在线视频| 内射毛片内射国产夫妻| 精品国产网站| 精品国模在线视频| 人妻久久一区二区| 韩日成人在线| 性欧美亚洲xxxx乳在线观看| 免费看日韩毛片| 国产精品视频| 国产精品扒开腿做爽爽爽视频| 精品一区二区无码| 日本一不卡视频| 91免费国产网站| 国产高清视频免费| av电影在线观看完整版一区二区| 精品国产一区二区三区麻豆小说 | 国产精品影视在线| 亚洲伊人第一页| 狠狠躁日日躁夜夜躁av| 91亚洲国产成人精品一区二三| 久久久水蜜桃| 大乳在线免费观看| 亚洲另类在线制服丝袜| av网站大全免费| 日本不卡一二三| 欧美日韩视频在线一区二区| 免费不卡av网站| 福利在线一区| 亚洲欧洲中文天堂| 国产美女福利视频| 一区免费在线| 国产精品国产三级国产专播精品人 | 国产日韩精品一区二区| 亚洲av无码国产精品久久不卡| 99re66热这里只有精品3直播 | 7777精品伊久久久大香线蕉语言| 亚洲AV无码精品国产| 久久精品在线免费观看| 男人天堂成人网| 欧产日产国产精品视频| 欧美二区在线观看| 亚洲永久无码7777kkk| 久久精品国产www456c0m| 久久久久久久爱| 最好看的日本字幕mv视频大全 | 三上悠亚ssⅰn939无码播放| 久久美女视频| 51ⅴ精品国产91久久久久久| 91午夜交换视频| 91一区一区三区| 韩国黄色一级大片| 少妇一区视频| 精品日产卡一卡二卡麻豆| 日韩女同一区二区三区| 伊人成人在线视频| 成人激情av在线| 久久久久久青草| 亚洲永久精品国产| 亚洲一二三av| 青青草原综合久久大伊人精品| 久久久中精品2020中文| 国产男男gay网站| 国产喂奶挤奶一区二区三区| 免费无码毛片一区二三区| 欧美三级电影网址| 亚洲色在线视频| 日韩视频免费观看高清| 国产精品一二二区| 一区二区日本伦理| 日韩av一级| 精品亚洲一区二区三区在线观看| 国产亚洲精品女人久久久久久| 久久精品国产成人一区二区三区 | 99一区二区| 日本美女在线中文版| 色香色香欲天天天影视综合网| 大尺度在线观看| 欧美精品综合| 亚洲自拍高清视频网站| 午夜视频成人| 欧美日韩情趣电影| 精品熟妇无码av免费久久| 久久一区激情| 欧美日韩一区二区三区在线观看免 | 亚洲久草在线视频| 九九热视频免费| 五月激情久久久| 国产在线视频欧美| 国产黄色在线免费观看| 3atv一区二区三区| 9999热视频| 国产精品99久久久久久久女警| 一本二本三本亚洲码| 国产精品久久久久久久久久久久久久久 | 亚洲伊人网站| 欧美国产二区| 韩国精品主播一区二区在线观看 | 成年人网站免费在线观看| 国产日韩免费| 美女视频久久| 日本成人伦理电影| 最新国产精品亚洲| 国产欧美一级片| 亚洲主播在线观看| 五月开心播播网| 肉肉av福利一精品导航| 伊人精品久久久久7777| 国产一区二区三区国产精品| 欧美日本国产在线| 手机看片一区二区| 日本高清无吗v一区| 国产探花视频在线| 久久99国产精品成人| 五月天在线免费视频| 视频一区日韩精品| 68精品国产免费久久久久久婷婷| 欧美黄色小说| 欧美日韩成人一区| 久久精品国产亚洲av高清色欲 | 理论不卡电影大全神| 亚洲人成网在线播放| 一本色道久久综合精品婷婷| 一区二区三区四区视频精品免费 | 69堂成人精品视频免费| 激情视频网站在线播放色| 亚洲午夜国产成人av电影男同| 96日本xxxxxⅹxxx17| 一区二区三区91| 亚洲av无码成人精品国产| 青草国产精品久久久久久| 黄色小视频大全| 日韩精品导航| 国产一区二中文字幕在线看| 91老司机福利在线| 在线播放亚洲激情| 高清毛片aaaaaaaaa片| 色激情天天射综合网| 日本中文字幕免费在线观看| 久久伊人中文字幕| 无码人妻一区二区三区在线视频| 亚洲欧美高清| 国内自拍中文字幕| 国产毛片一区二区三区| 91久久久一线二线三线品牌| 日韩精品三区| 91极品视频在线| av文字幕在线观看| 亚洲欧美综合v| 亚洲精品久久久蜜桃动漫| 欧美午夜视频网站| 日本三级一区二区| 亚洲精品乱码久久久久久黑人| 成人精品999| 成人自拍视频在线观看| 亚洲综合欧美在线| 亚洲女同在线| 日韩小视频在线播放| 在线一区电影| 亚洲精品永久www嫩草| 日韩啪啪网站| y111111国产精品久久婷婷| www.26天天久久天堂| 久久乐国产精品| 亚洲夜夜综合| 色噜噜国产精品视频一区二区 | 日本国产精品| 高清国产在线一区| 久久精品九色| 91久久嫩草影院一区二区| 日韩高清成人| 欧洲日韩成人av| 成人黄色动漫| 久久久久久美女| 97影院秋霞午夜在线观看| 色黄久久久久久| 91免费在线| 中文字幕久久亚洲| eeuss影院www在线观看| 亚洲男人天堂古典| 手机福利小视频在线播放| 亚洲黄色av网站| 手机看片一区二区三区| 亚洲黄在线观看| 日韩一级在线播放| 亚洲第一在线视频| 天堂成人在线视频| 日韩成人性视频| 你懂的视频在线播放| 日韩毛片在线看| 噜噜噜噜噜在线视频| 亚洲开心激情网| 九色视频网站在线观看| 亚洲欧洲一区二区三区久久| 国产精品久久久久一区二区国产| 亚洲人成网站免费播放| 国产中文字幕在线观看| 在线观看成人黄色| 日本精品一区二区三区在线播放| 久久精品视频免费播放| v片在线观看| 欧美极品美女视频网站在线观看免费 | 日本一区二区免费高清| 一区二区三区久久网| 偷偷www综合久久久久久久| 免费看污污视频| 极品尤物久久久av免费看| 国产女大学生av| 久久久久中文| 久久久久久久久久久久久久久国产| 国产麻豆91精品| 精品无码人妻少妇久久久久久| 91首页免费视频| 一级黄色片网址| 亚洲免费在线观看| 在线观看亚洲欧美| 欧美日韩一区视频| 国产成人精品毛片| 亚洲精品美女在线| 成年人视频网站在线| 美女少妇精品视频| 在线毛片观看| 国产精品一区二区久久久久| 一区视频网站| 欧美日韩精品免费观看视一区二区| 日韩专区精品| 男女激情无遮挡| 奇米影视7777精品一区二区| 潘金莲一级淫片aaaaa| 91在线精品一区二区| 亚洲女人毛茸茸高潮| 亚洲国产成人tv| 中国a一片一级一片| 日韩午夜小视频| 黄色av网站在线| 欧美激情精品久久久久久免费印度 | 国产一区二区三区四区五区传媒| 中文字幕一区二区中文字幕| 一本色道久久综合亚洲精品不卡| 欧美男女交配视频| 9人人澡人人爽人人精品| www.xx日本| 欧美日韩激情视频8区| 91国产免费视频| 亚洲欧美日韩在线高清直播| fc2ppv国产精品久久| 日韩免费av在线| 澳门成人av| 中文字幕一区二区三区最新| 欧美亚洲免费| zjzjzjzjzj亚洲女人| 18欧美亚洲精品| aaa在线视频| 欧美精品一区在线观看| 欧美另类极品| 国产不卡av在线免费观看| jizz性欧美23| ijzzijzzij亚洲大全| 蜜臀精品久久久久久蜜臀| 野外性满足hd| 精品成人av一区| 不卡视频免费在线观看| 俺去亚洲欧洲欧美日韩| 高清电影一区| 六月婷婷久久| 亚洲激情视频| 无码av免费精品一区二区三区| 亚洲日本青草视频在线怡红院| 国模私拍一区二区| 亚洲视频999| 一区二区电影免费观看| 国产九色精品| 亚洲性人人天天夜夜摸| 1314成人网| 亚洲视频每日更新| 在线观看免费中文字幕| 国产亚洲视频在线| 最新欧美电影| 欧美精品人人做人人爱视频| 一区二区三区国产盗摄| 亚洲少妇一区二区三区| 亚洲综合精品久久| 亚洲免费黄色片| 久久免费视频在线观看| 高清欧美性猛交xxxx黑人猛| 久久人人爽人人爽人人av| 懂色av中文一区二区三区| 欧美成人三级视频| 精品国产免费视频| 懂色av一区| 精品国产一区二区三区日日嗨| 亚洲三级观看| aaaaa一级片| 91福利视频网站| av在线女优影院| 国产欧美一区二区三区久久| 国产精品毛片一区二区在线看| 国产一级免费大片| 亚洲香肠在线观看| 性感美女一级片| 国产精品久久久久久婷婷天堂 | 老子影院午夜伦不卡大全| 床上的激情91.| 国产成人无码精品久在线观看| 日韩精品免费在线视频| 国产精品高清乱码在线观看| 亚洲精品国产精品久久| 国产综合久久久久久久久久久久| 欧美黄色aaa| 亚洲精品电影在线| 日韩网站中文字幕| 中文字幕中文字幕在线中心一区| 国内精品自线一区二区三区视频| 欧美色图亚洲视频| 日韩av在线最新| 国产欧美在线观看免费| 久久久久久久香蕉| 91日韩一区二区三区| 亚洲天堂aaa| 久久99久久99精品免观看粉嫩| 农村少妇一区二区三区四区五区| chinese少妇国语对白| 亚洲欧美在线高清| 日本高清视频免费看| 日韩免费观看av| 欧美成人tv| 久久国产精品无码一级毛片| 欧美日韩激情一区| 1024在线看片你懂得| 午夜精品福利一区二区| 国产成+人+日韩+欧美+亚洲| 性色av免费观看| 欧美情侣性视频| 红桃成人av在线播放| 动漫av在线免费观看| 欧美在线免费观看视频| 污污的网站在线免费观看| 免费影院在线观看一区| 国产成人在线色| 一级片在线免费播放| 国语自产在线不卡| 国产国产精品| 欧美激情aaa|