超市小票打印机tp-pos58关于开钱箱的说明:ReadFile和WriteFile函数

hed 2005-09-24 10:15:30
打印机tp-pos58说明书上关于开钱箱的说明如下:
ESC p m t1 t2 钱箱命令
格式: ASCII:ESC p m t1 t2
十进制:27 112 m t1 t2
十六进制:1B 70 m t1 t2
说明:
在钱箱连接器上输出由t1,t2决定的钱箱开启脉冲,要求t2≥t1。
m=0,48 在钱箱pin2上输出。
m=1,49 在钱箱pin5上输出。
注意:
开启时间为t1*2ms
关断时间为t2*2ms
如果t2<t1,打印机处理t2=t1×2ms;
如果t2<50,打印机内部将t2设为50。
我不知道该如何写呀,各位前辈帮帮忙呀!
...全文
414 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlc_yhy 2006-02-21
  • 打赏
  • 举报
回复
#include "stdio.h"
main()
{FILE * y_open;
if ((y_open=fopen("LPT1","wb+"))==NULL) return -1;
fputc(27,y_open);
fputc(112,y_open);
fputc(0,y_open);
fputc(128,y_open);
fputc(128,y_open);
fclose(y_open);
}
这是C语言代码,可以参照,也可以编译后在程序内部调用这个执行文件
signed 2005-09-24
  • 打赏
  • 举报
回复
呵呵,没有见过设备的物理连接方式,都是ESC/P命令,应该很简单的,
jddj007 2005-09-24
  • 打赏
  • 举报
回复
有可能你的钱箱电压不对,钱箱有8V、12V跟24V的,你看看
hed 2005-09-24
  • 打赏
  • 举报
回复
如下代码只能偶而使并口打印机TP-POS58P打印一行乱码,钱箱一点反应也没有,为什么?
HANDLE hLPT;
hLPT=CreateFile(Edit6->Text.c_str(),GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0); //Edit6->Text="LPT1"
if(hLPT==INVALID_HANDLE_VALUE)
{
ShowMessage("打开打印机端口错误!");
return;
}
unsigned long lrc,BS;
String Temp;
char * SendData ;
Temp=Edit1->Text+Edit2->Text+Edit3->Text+Edit4->Text+Edit5->Text;
//Temp=char("27")+"112"+char(0)+char(60)+char(255);
SendData=Temp.c_str();
BS=StrLen(SendData);
WriteFile(hLPT,SendData,BS,&lrc,NULL) ;
CloseHandle(hLPT);

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧