我想将我的 GOOJPRT 热敏打印机(我相信型号 QR701,通信 RS232)连接到我的 ESP32,但我似乎无法让它们工作。
我尝试了所有 Adafruit 热敏打印机库示例,但每次都会遇到相同的错误:
"Error compiling for board ESP32 Dev Module."
我猜这些库不适用于 ESP32。 我还尝试了 Larry Bank 的“热敏打印机库”(根据其 github 文档,它应该与 ESP32 兼容),但我无法弄清楚如何将热敏打印机的电线正确连接到 ESP32。
当然,我并不要求具体的解决方案,我只是想找人给我指出正确的方向!
Adafruit 热敏打印机示例的完整错误消息:
C:\Users\Thomas\Documents\Arduino\libraries\SoftwareSerial-master\SoftwareSerial.cpp:41:27: fatal error: avr/interrupt.h: No such file or directory
compilation terminated.
Multiple libraries were found for "Adafruit_Thermal.h"
Used: C:\Users\Thomas\Documents\Arduino\libraries\Adafruit_Thermal_Printer_Library
Not used: C:\Users\Thomas\Documents\Arduino\libraries\Adafruit-Thermal-Printer-Library-master
Multiple libraries were found for "SoftwareSerial.h"
Used: C:\Users\Thomas\Documents\Arduino\libraries\SoftwareSerial-master
Not used: C:\Users\Thomas\Documents\Arduino\libraries\EspSoftwareSerial
exit status 1
Error compiling for board ESP32 Dev Module
您需要使用
Larry Bank 的“热敏打印机库”适用于 GOOJPRT PT-210 并使用蓝牙。不适用于 qr-701。
您可以尝试使用以下方法来代替 Adafruit 库: 热敏打印机
快速启动:
#include "TPrinter.h"
#include <HardwareSerial.h>
const int printerBaudrate = 9600; // or 19200 usually
const byte rxPin = 16; // check datasheet of your board
const byte txPin = 17; // check datasheet of your board
const byte dtrPin = 27; // optional
const byte rsePin = 4; // direction of transmission, max3485
如果您有带 rs232 的打印机,则需要使用 max3485(用于 3V3 逻辑层)或类似的板。 在我的情况下是必要的。我使用板 UART - RS485 3,3V - ARK/RJ11 - Waveshare 4777
HardwareSerial mySerial(1);
Tprinter myPrinter(&mySerial, printerBaudrate);
void setup() {
micros();
mySerial.begin(printerBaudrate, SERIAL_8N1, rxPin, txPin); // must be 8N1 mode
pinMode(rsePin, OUTPUT); // optional
digitalWrite(rsePin, HIGH); // optional
// myPrinter.enableDtr(dtrPin, LOW); // optional
myPrinter.begin();
}
使用 Arduino 代码连接打印机比使用纯 C 语言连接打印机更容易,因为我试图连接它,但它没有连接。
我也发布了这个,我对此有 100 个浏览,但仍然没有人能够给出答案。
我正在使用 RP3200 加热敏打印机通过 UART 使用 ESP32 连接 在 C