聚豐項目 > 基于AB32的uart控燈
基于AB32開發板開發一個控制燈光的設備,即藍牙控制燈光。然而實際上,AB32上面藍牙模塊,很難實現,目前還沒有成熟,只能退而其次,串口通信,既是UART串口。我制作兩個設備,一個是主設備,另一個從設備。主設備(AB32開發板)上開啟uart串口,PA3和PA4引腳,連接到從設備。從設備可以是arduino開發板,也可以是STM32開發板,也可以是esp8266,等等,其中只要有uart串口功能。從主設備發送"uart 1"到從設備,當從設備檢測到“uart 1”,則打開LED;發送“uart 0”,則關燈。 設計作品思路如下圖:
rx_ted
分享rx_ted
團隊成員
rx_ted 學生
整體架構:
內核部分:使用了線程、信號量、互斥量、定時器
硬件部分:AB32開發板、arduino wemos R1開發板、若干LED和電線
軟件包:
blueturm(藍牙模塊)等
設備驅動:
GPIO/BLE/UART/I2C 等
軟件中間使用了部分信號量和互斥量保證線程同步。跟uart_sample這個例子原理差不多。
首先查找系統中的串口設備,等找到串口設備,例如“uart1”,找到了就打開串口設備,將輸入命令復制到臨時變量字符串。
接著初始化信號量,一旦接收到輸入字符串,則發送這命令。
然后創建線程,繼續等待輸入。
根據這樣的原理而獲得流程:搜索串口設備->打開串口設備->接收回調->信號中斷->發送命令->開燈關燈。