CH376S打印机枚举类型已成功,发送数据无法完成打印

CH376S打印机枚举类型已成功,通过BUS Hound捕获到打印数据,通过例程发送数据,打印机一点反应没有,哪位大虾知道可能是什么原因吗?


另外对例程的发送数据语句的理解有点迷糊,求解答:

unsigned char xdata data_to_send[200];  /* 缓冲区 */

unsigned char str_to_print[]={捕获到的数据};


send_data( strlen(str_to_print), str_to_print ); /* 输出数据给打印机,与通过并口方式输出一样 */

send_data( sizeof(data_to_send), data_to_send );  /* 输出的数据必须按照打印机的格式要求或者遵循打印描述语言 */

/* 可以再次继续发送数据或者接收数据 */


以下是部分捕获数据:

blob.png

希望有做过CH376控制打印机的朋友可以一起交流,我QQ:1187987705


bushound捕捉到的数据保存为txt,和代码一起发到 gj@wch.cn ,我看下。


昨天晚上刚发现可以打印,现在存在的问题是打印数据乱码,还有就是打印部分程序必须多次循环执行才能实现打印


while ( 1 ){

s = get_port_status( );

if ( s!=0xFF ) {

/*if ( s&0x20 ) printf("No paper!\n");

if ( (s&0x08) == 0 ) printf("Print ERROR!\n");*/

}

send_data( strlen(str_to_print), str_to_print );  /* 输出数据给打印机,与通过并口方式输出一样 */

send_data( sizeof(data_to_send), data_to_send );  /* 输出的数据必须按照打印机的格式要求或者遵循打印描述语言 */

/* 可以再次继续发送数据或者接收数据 */

}


能解释一下参考例程中的两个send_data的作用分别是什么吗?是分别用来发送字符串命令和数据的吗?还有为何打印段程序必须在while(1)里面循环执行,只执行一次确不能完成打印呢?


已经解决了,能够打印。之前是因为bus hound设置的显示位数过小,导致数据没有全部显示,所以才出现了打印异常的问题。


只有登录才能回复,可以选择微信账号登录