首先,感谢iCEasy商城免费送来的GD32VW553-IOT样板。
感谢iCEasy商城可以有这么好的活动。
声明:由于刚刚拿到样板,开发还未完成,故本文只发出部分思路和方法。
正文:
一、材料清单
GD32VW553-IOT 开发板 1 块 核心控制,转发手机 Wi-Fi 数据到打印机
兄弟 MFC-7340 打印机 1 台 打印输出 装纸、无故障,电源正常
CH340G USB 转 TTL 模块(带 USB 母座) 1 个 信号转换(开发板→打印机)+ 烧录器
Type-C 转打印机 OTG 线 1 根 连接 CH340G 与打印机
杜邦线(公对母) 5 根 连接开发板与 CH340G
电脑(Windows) 1 台 烧录固件
手机(安卓 ) 1 部 装 PrinterShare,发送打印任务
Type-C 数据线 2 根 开发板供电 + CH340G 烧录连接
二、硬件连接(烧录固件→打印)
阶段 1:烧录固件(CH340G 当烧录器)
1. 定位开发板关键元件
R4 电阻:USART0 附近,丝印 “R4”;
BOOT0 引脚:丝印 “BOOT0”;
USART0 引脚:PA9(TX)、PA10(RX)。
2. 短接 R4 + 配置 BOOT0
用杜邦线短接 R4 电阻的两个焊盘;
用杜邦线连接 BOOT0→开发板 3.3V 引脚。
3. 连接 CH340G 与开发板
CH340G 引脚 开发板引脚
TX PA10(USART0_RX) 模块发数据给开发板
RX PA9(USART0_TX) 模块收开发板反馈
GND GND(任意) 共地
VCC 3.3V 模块取电(开发板供电)
4. 连接电脑与 CH340G
用 Type-C 数据线插 CH340G 的 USB 母座→电脑 USB 口(传烧录数据)
固件烧录
步骤 1:安装软件(驱动 + 开发环境 + 烧录工具)
CH340G 驱动:电脑连模块,设备管理器看 “USB-SERIAL CH340(COMx)”,无则装驱动;
GD32 Embedded Studio:兆易创新官网下载安装,用于编译代码;
GD32 固件库:解压到桌面(如C:\GD32_FW);
GD32 ISP Tool:烧录工具,解压备用。
步骤 2:编写固件代码(端口 9100 支持PrinterShare 的关键)
1. 创建项目 + 添加文件
打开 GD32 Embedded Studio→新建项目;
右键项目→新建main.c和usart.h
main.c
c
运行
#include "gd32vw55x.h"
#include "wifi.h"
#include "socket.h"
#include "usart.h"
#include "delay.h"
// 1. 适配PrinterShare:热点名+默认打印端口9100
#define AP_SSID "GD32_Printer" // 手机连这个热点
#define AP_PASSWORD "12345678" // 热点密码
#define TCP_PORT 9100 // PrinterShare默认扫描9100端口
uint8_t recv_buf[4096]; // 增大缓冲区,支持大文件(如图片/PDF)
// 初始化串口(USART1,与CH340G通信)
void usart_init(void) {
rcu_periph_clock_enable(RCU_USART1);
rcu_periph_clock_enable(RCU_GPIOB);
// 配置PB6(TX)、PB7(RX)
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_6);
gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6);
gpio_af_set(GPIOB, GPIO_AF_7, GPIO_PIN_6);
gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_7);
gpio_af_set(GPIOB, GPIO_AF_7, GPIO_PIN_7);
// 波特率115200(CH340G默认,兼容PrinterShare)
usart_deinit(USART1);
usart_baudrate_set(USART1, 115200);
usart_word_length_set(USART1, USART_WL_8BIT);
usart_parity_config(USART1, USART_PM_NONE);
usart_stop_bit_set(USART1, USART_STB_1BIT);
usart_receive_config(USART1, USART_RECEIVE_ENABLE);
usart_transmit_config(USART1, USART_TRANSMIT_ENABLE);
usart_enable(USART1);
}
// 启动Wi-Fi热点(手机连开发板)
void wifi_ap_init(void) {
wifi_init();
wifi_softap_config_t ap_cfg = {
.ssid = AP_SSID,
.password = AP_PASSWORD,
.channel = 6, // 信道6,干扰少
.encryption = WIFI_ENC_WPA2, // 加密防蹭网
.max_connection = 2 // 最多连2台设备
};
wifi_softap_start(&ap_cfg); // 启动热点
}
// 启动TCP服务器(监听9100端口,接收PrinterShare数据)
void tcp_server_start(void) {
int server_fd = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in server_addr = {
.sin_family = AF_INET,
.sin_addr.s_addr = INADDR_ANY, // 允许任何设备连接
.sin_port = htons(TCP_PORT) // 绑定9100端口
};
bind(server_fd, (struct sockaddr*)&server_addr, sizeof(server_addr));
listen(server_fd, 1); // 监听连接
while (1) {
int client_fd = accept(server_fd, NULL, NULL); // PrinterShare连接成功
int recv_len = recv(client_fd, recv_buf, sizeof(recv_buf), 0); // 收打印数据
if (recv_len > 0) {
// 核心:将PrinterShare的GDI数据透传给打印机(CH340G转发)
for (int i = 0; i < recv_len; i++) {
while (usart_flag_get(USART1, USART_FLAG_TBE) == RESET);
usart_data_transmit(USART1, recv_buf[i]);
}
// 给PrinterShare回传“打印中”(APP显示进度)
send(client_fd, "Printing...", strlen("Printing..."), 0);
}
close(client_fd);
}
}
// 主函数(程序入口)
int main(void) {
systick_config(); // 初始化系统时钟
usart_init(); // 初始化串口
wifi_ap_init(); // 启动Wi-Fi热点
tcp_server_start();// 启动TCP服务器(等PrinterShare连接)
while (1); // 循环运行
}
usart.h
c
运行
#ifndef USART_H
#define USART_H
#include "gd32vw55x.h"
void usart_init(void);
#endif
2. 添加固件库路径
右键项目→Properties→C/C++ Build→Settings→GNU C Compiler→Include Paths;
点击 “+”→添加固件库的Include;
点击 OK 保存。
3. 编译 + 生成固件
点击 Project→Build Project;
编译成功后,在项目的 “Debug” 文件夹中找到GD32_Printer.hex(烧录文件)。
步骤 3:用 GD32 ISP Tool 烧录固件
打开 GD32 ISP Tool→选 “串口”→选 CH340G 的 COM 口(如 COM3)→波特率 115200;
点击 “浏览”→选择GD32_Printer.hex;
点击 “下载”→立即给开发板上电(Type-C 线接充电器);
进度条到 100% 显示 “下载成功”→断开开发板电源,准备打印。
阶段 2:打印(烧录完成后换线)
1. 恢复开发板到正常模式
拔掉 R4 的短接杜邦线;
拔掉 BOOT0 的杜邦线(默认接 GND,进入运行模式)。
2. 连接 CH340G 与开发板(打印线)
CH340G 引脚 开发板引脚 作用
TX PB7(USART1_RX) 模块反馈打印机状态给开发板
RX PB6(USART1_TX) 模块收开发板的打印数据
GND GND(任意) 共地
VCC 不接! 模块通过 OTG 线从打印机取电(或单独接 5V 充电器)
3. 连接模块与打印机
Type-C 转打印机 OTG 线的Type-C 公头→CH340G 的 USB 母座;
OTG 线的方形 USB 头→兄弟 MFC-7340 的 USB 接口。
4. 供电
开发板:Type-C 线接充电器(5V/1A,灯亮);
打印机:插电源开机,显示 “就绪”;
CH340G(若 OTG 取电不足):单独接 5V 充电器。
三、PrinterShare APP Wi-Fi 打印操作(测试部分)
步骤 1:手机连开发板热点
打开手机设置→Wi-Fi→找到 “GD32_Printer”→输入密码 “12345678”→连接成功(手机顶部显示 Wi-Fi 图标)。
步骤 2:安装 PrinterShare APP
安卓:应用商店搜索 “PrinterShare”(选 “PrinterShare Mobile Print”),下载安装;
iOS:App Store 搜索 “PrinterShare”,下载免费版(功能足够)。
步骤 3:添加打印机(关键:手动输入开发板 IP)
打开 PrinterShare→首次打开点击 “Continue”→选择 “Skip”(跳过注册);
点击底部 “Printers”→右上角 “+”(添加打印机)→选择 “Network Printer”(网络打印机);
选择 “Manual IP”(手动输入 IP)→输入以下信息:
IP Address:192.168.4.1(开发板 Wi-Fi 热点的默认网关,固定不变);
Port:9100(与固件中 TCP_PORT 一致,PrinterShare 默认扫描此端口);
Protocol:选 “Raw”(原始数据传输,适配 GDI 指令);
点击 “Next”→APP 会自动搜索打印机,搜索完成后,在 “Printer Model”(打印机型号)中找到 “Brother MFC-7340”(若没找到,选 “Brother”→手动搜索型号);
点击 “Next”→提示 “Driver Install”(安装驱动),点击 “Install”→等待驱动安装完成(10-20 秒)。
步骤 4:测试打印(文本 / 图片 / PDF 均可)
打印文本 / 手机文件
打开 PrinterShare→点击底部 “Files”→选择要打印的文件(如手机中的 TXT、Word、图片);
选择文件后,点击右上角 “Print”→进入打印设置界面:
Copies:设置打印份数(默认 1 份);
Pages:选择打印页数(默认全部);
Paper Size:选 “A4”(兄弟 MFC-7340 默认纸张);
Orientation:选 “Portrait”(纵向)或 “Landscape”(横向);
设置完成后,点击右下角 “Print”→APP 显示 “Printing...”(打印中);
等待 3-5 秒,打印机开始打印→输出文件即成功。
大学小白初学,勿喷,开发完成后完整附上全文教程。

