藍芽模組相互通訊

2021-10-13 12:38:04 字數 1807 閱讀 1793

藍芽模組相互通訊:

工具:兩個usb轉ttl、兩個藍芽模組

在網上隨便買的藍芽模組到手發現型號是jdy-09

其實藍芽模組的使用完全可以當做串列埠使用,因為剛開始不太清楚以為藍芽模組的命令是通用的剛開始用的hc-05藍芽的命令手冊

後來發現設定主機從機模式時設定不成功,才懷疑命令不一樣,問賣家要了手冊

手冊裡寫的很明白

於是就將28腳連線3.3v,再次傳送命令at+role發現返回還是0 0是從機模式。後來聯絡賣家才知道設定主機模式是at+role1,而hc-05的設定方法是at+role=1 也是醉了

現在知道怎麼設定主機從機就可以進行通訊了,因為藍芽模組出廠預設波特率是9600且為從機模式

使用usb轉ttl連線藍芽模組

vcc -- vcc

gnd -- gnd

rxd -- txd

txd -- rxd

兩個usb轉ttl 和藍芽模組都這麼連線 需要注意的是

波特率:9600

停止位:1

資料為:8

勾選傳送新行、非十六進製制傳送

連線好後可以傳送at 命令觀察返回值是是不是ok 是的話就可以設定主機模式了 命令為 at+role1

如果兩個藍芽模組都連線usb轉ttl的話可以兩個都開啟 在剛剛設定的好的主機藍芽 輸入at+inq 這是搜素藍芽裝置

搜尋成功會返回從機藍芽的mac位址

如若想配對就傳送at+cona mac位址

這是配對 配對成功後兩個藍芽即可通訊 主機傳送什麼 從機就會收到什麼

但這樣的話藍芽斷電後需要每次都要進行配對 如若不想的話 就直接繫結從機裝置

下次上電的時候就可自動連線了

如果解綁就

這是使用串列埠助手使藍芽進行通訊 如果想用微控制器進行兩個藍芽通訊,可以完全把藍芽模組當成串列埠使用 以下為stm32為例

這裡使用串列埠3

#include "delay.h"

#include "usart3.h"

#include "stdarg.h"

#include "stdio.h"

#include "string.h"

#include "timer.h"

u8 usart3_rx_buf[usart3_max_recv_len];

u8 usart3_tx_buf[usart3_max_send_len];

vu16 usart3_rx_sta=0;

void usart3_irqhandler(void)

} void tim2_int_init(u16 arr,u16 psc)

主機模式就可以傳送資料 u3_printf 函式就可以直接當做printf函式使用,從機模式的藍芽就可以接收資料了 接收的資料在usart_rx_buf裡  可以參考學習正點原子(hc-05)的的例

vue 父子控制項 相互通訊

1 父元件可以使用 props 把資料傳給子元件。2 子元件可以使用 emit 觸發父元件的自定義事件。3 兄弟元件可以使用vm.emit event,arg 父元件 parent.vue child div template import child from child export defau...

VC 中程序間相互通訊

vc 中程序間相互通訊的十一種方法 程序通常被定義為乙個正在執行的程式的例項,它由兩個部分組成 乙個是作業系統用來管理程序的核心物件。核心物件也是系統用來存放關於程序的統計資訊的地方 另乙個是位址空間,它包含所有的可執行模組或dll模組的 和資料。它還包含動態分配的空間。如執行緒堆疊和堆分配空間。每...

程序間的相互通訊 C

程序通常被定義為乙個正在執行的程式的例項,它由兩個部分組成 乙個是作業系統用來管理程序的核心物件。核心物件也是系統用來存放關於程序的統計資訊的地方 另乙個是位址空間,它包含所有的可執行模組或dll模組的 和資料。它還包含動態分配的空間。如執行緒堆疊和堆分配空間。每個程序被賦予它自己的虛擬位址空間,當...