完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在做使用STC15系列W404S单片机串口输出到便携式热敏打印机上,通过IO口模拟串口经过max3232输出到打印机上,结果输出乱码,在电脑上用串口助手测试没有问题,但是到打印机上就是乱码,根本不是我想要的,想了好几天实在不知道问题出在哪里,只能求助,望大神指点,以下附上代码:
***it SoftTxd = P1^0; //向打印机输出的引脚 void Delay8us() //@5.5296MHz 系统频率 串口波特率115200 { unsigned char i; _nop_(); _nop_(); i = 8; while (--i); } void SoftUartSend(unsigned char dat) { //严格控制时序在48个机器周期延迟触发一次数据 //数据帧:1个开始位+8bit数据+1个停止位 //系统频率5.5296MHZ 串口波特率115200 bdata unsigned char D; D = dat; SoftTxd = 0;//发送开始位 Delay8us();//延时48个周期 SoftTxd = D&0x01; Delay8us(); SoftTxd = D&0x02; Delay8us(); SoftTxd = D&0x04; Delay8us(); SoftTxd = D&0x08; Delay8us(); SoftTxd = D&0x10; Delay8us(); SoftTxd = D&0x20; Delay8us(); SoftTxd = D&0x40; Delay8us(); SoftTxd = D&0x80; Delay8us(); SoftTxd = 1;//发送停止位 Delay8us(); } void SoftSendString(unsigned char *s) { while (*s) //检测字符串结束标志 { SoftUartSend(*s++); //发送当前字符 } } void main(){ SoftTxd = 1; SoftUartSend(0x1B); SoftUartSend(0x40); //初始化打印机 SoftSendString("中国石油大学"); SoftUartSend(0x0A); //打印并换行 while(1); } |
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1088 浏览 0 评论
零知经验——STM32F4驱动ICM20948 九轴运动传感器 + VOFA上位机可视化验证与抗漂移优化
1444 浏览 0 评论
1121 浏览 0 评论
1160 浏览 0 评论
零知开源——STM32F4驱动MAX31865实现PT100高精度测温
3386 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
13441 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-6-21 03:41 , Processed in 0.561298 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191