ch375驱动打印机,缺纸后怎样清除打印机的缓存?

如题,uint8_t send_data( unsigned short len, unsigned char *buf )函数中这样写

.

.

s=get_port_status( );  /*如果有必要,可以检查是什么原因导致打印机忙 */

if ( s&0x20 ) 

{

  printf("No paper!\n");

  clr_stall( endp_out_addr );  /* 清除打印机的数据接收端点,或者 soft_reset_print() */

  soft_reset_print();  /*打印机出现意外错误,软复位 */

  tog_send = 0;  /* 操作失败 */

}

起不到清除缓存的作用,要怎样处理呢?

打印机类协议中指明使用SOFT_RESET (bRequest = 2)

This class-specific request flushes all buffers and resets the Bulk OUT and Bulk IN pipes to their default states. This
request clears all stall conditions. This reset does NOT change the USB addressing or USB configuration.


还是没有明白!!


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