玩单片机,通常用串口来输出信息,而现在的计算机已经没有com口了,因此我们常用 ch340 pl2303等usb转串口的小板子来达到单片机通过串口来和pc通讯的目的,也可用来下载代码;
有时正好需要但暂时没有这样的串口线,我们可以临时用个stm32c8t6最小系统来做一个,代码也是非常简单的:
usbSerial.ino
- void setup() {
- SerialUSB.begin(115200);
- Serial1.begin(115200);
- while (!SerialUSB);
- for (;;) {
- if (SerialUSB.available()) {
- uint8_t c = SerialUSB.read();
- Serial1.write(c);}
- if (Serial1.available()) {
- uint8_t c = Serial1.read();
- SerialUSB.write(c);}
- }
- }
- void loop() {}
程序说明:
line2~3 单开SerialUsb(usb虚拟串口)和Serial1(串口1 PA9/PA10),115200 bsp;
line4 等待pc完成usb cdc的驱动,准备就绪;
line5~12行 死循环,完成usb虚拟串口到Serial1硬件串口的双向数据转送,具体为:
line6 检查sub虚拟串口是否收到数据,如有
line7 读取并通过line8 发送到Serial1;
line9 同上,检查Serial1是否收到数据,如有则line10 读取,line11发送到usb;
是不是很简单?附个编译的截图:(菜单需要选择usb功能为虚拟通讯口)
ARDUINO:用STM32做个串口监视器
http://bbs.mydigit.cn/read.php?tid=2249008