stm32连接热敏打印机

直接向连接热敏打印机的串口输出数据就可以了不需要进行什么转换或格式。

如:printf(“我很菜\r\n”);
将两个字符转成一个十六进制数
转载大佬的:
https://blog.csdn.net/wxywxywxy110/article/details/52678098

#include<stdio.h>
typedef unsigned char UINT8;
typedef unsigned short UINT16;
UINT8 transform(UINT8 a,UINT8 b)
{
   UINT8 c;
   if(a>='0' && a<='9')
   {
      a=a-'0'; 
   }
   else if(a>='A' && a<='F')
   {
      a=a-'A'+10;  
   }
   else if(a>='a' && a<='f')
   {
      a=a-'a'+10;
   }
   if(b>='0' && b<='9')
   {
      b=b-'0';
   }
   else if(b>='A' && b<='F')
   {
      b=b-'A'+10;
   }
   else if(b>='a' && b<='f')
   {
      b=b-'a'+10;
   }

   return (a<<4)|b;

}

然后就可以输出中文了

printf("%c%c",transform('c','7'),transform('b','f'))//在串口输出‘强’字

版权声明:本文为weixin_45799449原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。