bi4irz:用支持usb host的开发板,转接usb里的串口通讯,应该可行。但是要加电池,usb口不但取不到电,看电路好像还要给他的CP2105供电。或从8芯接口取电,又会抱怨占用天调口。思来想去,直接找个带电 ..
(2024-05-30 13:20) ![](https://www.hellocq.net/forum/images/back.gif)
USB 口测试没有5V 电源,Arduino Micro通过USB串行端口
#include <RingBuffer.h> // 引入环形缓冲区库
// 定义蓝牙模块连接的引脚
const int bluetoothTX = 9;
const int bluetoothRX = 10;
// 创建一个环形缓冲区来存储从USB接收的数据
RingBuffer<char, 128> buffer;
void setup() {
// 初始化与蓝牙模块的串行通信
Serial1.begin(9600);
// 初始化Arduino Micro的USB串行端口
Serial.begin(9600);
// 设置引脚模式为输出(TX)和输入(RX)以与蓝牙模块通信
pinMode(bluetoothTX, INPUT);
pinMode(bluetoothRX, OUTPUT);
}
void loop() {
// 从USB串行端口读取数据并存储到缓冲区
if (Serial.available() > 0) {
char dataFromUSB = Serial.read();
buffer.write(dataFromUSB); // 写入环形缓冲区
}
// 检查缓冲区是否有数据
if (buffer.available() > 0) {
// 从缓冲区读取数据并发送给蓝牙模块
char data;
while (buffer.read(&data, 1)) {
Serial1.write(data);
}
}
// 检查蓝牙模块是否有数据发送回来
if (Serial1.available() > 0) {
char dataFromBluetooth = Serial1.read();
// 这里可以根据需要处理蓝牙模块的数据
// 例如,将数据回传给USB串行端口或进行其他处理
}
}
上边是AI 给写的程序