我在用CH375向USB打印機(jī)發(fā)送文件進(jìn)行打印的時(shí)候,發(fā)送最后一個(gè)包的時(shí)候是小于64的,也就是我的數(shù)據(jù)發(fā)送結(jié)束了,這樣打印機(jī)能打印,但我再執(zhí)行一次打印該文件的時(shí)候,打印機(jī)打出的紙上端多出一個(gè)字母W,其它數(shù)據(jù)均正確,請(qǐng)問(wèn)這是怎么回事???跟切換同步標(biāo)志有關(guān)嗎?send_data()函數(shù)里不是每次都切換同步標(biāo)志了嗎。
這個(gè)肯定是你下一次發(fā)送的數(shù)據(jù)有問(wèn)題,和同步標(biāo)志沒(méi)什么關(guān)系,還有你用的什么打印機(jī)???有沒(méi)有打印機(jī)的打印語(yǔ)言???如果有的話麻煩給我發(fā)一份:fqb@wch.cn,在此謝謝了。
我第二次發(fā)的還是第一次的原數(shù)據(jù),沒(méi)變,就是重復(fù)發(fā)一次而已,我用的惠普PCL5打印語(yǔ)言,沒(méi)有電子版,是書,叫中英文PCL5語(yǔ)言手冊(cè)。這是什么原因???
那就沒(méi)問(wèn)題,你還是需要看下打印語(yǔ)言里面對(duì)第一次打印數(shù)據(jù)和第二次打印相同的數(shù)據(jù)有沒(méi)有什么區(qū)別?
我檢查了下對(duì)第一次和第二次打印相同的數(shù)據(jù)沒(méi)有區(qū)別,是不是我判斷一次打印結(jié)束的方法不對(duì)啊?因?yàn)槲募Y(jié)束最后發(fā)的數(shù)據(jù)不夠64,我判斷的是最后6個(gè)字符的打印命令,檢查到這幾個(gè)命令就結(jié)束打印。因?yàn)檫@命令是我寫的所以我知道它應(yīng)該是哪幾個(gè)。 我原來(lái)按網(wǎng)站上說(shuō)的 用定時(shí)器延時(shí)來(lái)判斷,可是不正確,所以我就改成這個(gè)方式了。不知道對(duì)不對(duì)???
你如果結(jié)束的話,假如你最后一包數(shù)據(jù)是63個(gè)數(shù)據(jù)的話,那么你發(fā)的數(shù)據(jù)應(yīng)該是63個(gè)字節(jié),而不是64個(gè)字節(jié),CH375芯片本身不去關(guān)心數(shù)據(jù)