那么应该是通讯的波特率是不对的了,但是可以打印出来,可能只是碰对了某几个字符命令吧,要看打印的与你的指令是不是匹配的。
这种情况,很有可能就是通讯的协议,时序不正确
打印乱码,说明你手里已经有了这个打印机的串口驱动指令集了
打印机内部已经集成了字库,你要做的就是用正确的指令加上正确的字符内码就能打印正确了
这里也不知道你的打印机是什么,也没有资料。
只能告诉你,看看手册,看一下这个打印机的字库是用的哪个字库
因为没有具体的资料信息,所以只能大概的说几句:
1. 因为已经开始打印啦,说明控制打印的基本指令部分应该还是正确的,出错在于具体需要打印的数据上面
2. 打印输出乱码主要有这么一些情况:
2.1 对于直接输出字符编码形式的打印,可能输出编码和字库编码不一致(对于打印机包含字库的),或者编码传输中有错(包括大小端问题——对多字节编码)
2.2 对于直接输出字模信息的打印,则可能是分辨率方面设置基数有问题,造成错位等
这个应该是你的C文件中的字符的编码方式与打印机支持的编码方式不一样的原因
先确定你的打印机支持的是哪种编码,再把你通过串口输出的编码改成一样的,应该就没有问题了
其他的波特率什么的,应该是正确的吧