极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: 1981818001

发一个 U8glib 库显示汉字转换软件,我刚编的。

[复制链接]
发表于 2016-12-19 01:07:36 | 显示全部楼层
请教:软件生产的代码
/*
  Fontname: -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
  Copyright:
  Capital A Height: 0, '1' Height: 0
  Calculated Max Values w=15 h=14 x= 0 y= 0 dx=16 dy= 0 ascent=13 len= 0
  Font Bounding box     w=16 h=16 x= 0 y=-2
  Calculated Min Values           x= 0 y=-1 dx= 0 dy= 0
  Pure Font   ascent = 0 descent= 0
  X Font      ascent = 0 descent= 0
  Max Font    ascent =13 descent=-1
*/
#include "utility\u8g.h"
const u8g_fntpgm_uint8_t unicode[] U8G_FONT_SECTION("unicode") = {
0,16,16,0,254,0,0,0,0,0,0,1,0,13,255,0,
//温(\x00)
0,15,14,29,16,0,255,35,248,18,8,18,8,131,248,66,
8,66,8,19,248,16,0,39,252,228,164,36,164,36,164,36,
164,47,254,
//度(\x01)
0,15,16,32,16,0,254,1,0,0,128,63,254,34,32,34,
32,63,252,34,32,34,32,35,224,32,0,47,240,36,16,66,
32,65,192,134,48,56,14};

/*
  //Sample(调用例子):
  u8g.firstPage();
  do
  {
  u8g.setFont(unicode);
  //u8g.drawStr( 0,14, "\x00\x01");
  u8g.setPrintPos(0,14);
  u8g.print("\x00\x01");
  }while (u8g.nextPage());
*/
我ARDUINO的代码
#include "U8glib.h"
#include "utility\u8g.h"
U8GLIB_ST7920_128X64_1X u8g(3, 9, 8); //声明液晶屏 3:E  8:RS  9:R/W
const u8g_fntpgm_uint8_t unicode[] U8G_FONT_SECTION("unicode") = {
0,16,16,0,254,0,0,0,0,0,0,1,0,13,255,0,
//温(\x00)
0,15,14,29,16,0,255,35,248,18,8,18,8,131,248,66,
8,66,8,19,248,16,0,39,252,228,164,36,164,36,164,36,
164,47,254,
//度(\x01)
0,15,16,32,16,0,254,1,0,0,128,63,254,34,32,34,
32,63,252,34,32,34,32,35,224,32,0,47,240,36,16,66,
32,65,192,134,48,56,14};

  void draw(void) {
     u8g.setFont(unicode);
    u8g.drawStr( 0,14, "\x00\x01");
  }
  void setup(void) {
  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
    u8g.setColorIndex(255);     // white
  }
  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
    u8g.setColorIndex(3);         // max intensity
  }
  else if ( u8g.getMode() == U8G_MODE_BW ) {
    u8g.setColorIndex(1);         // pixel on
  }
  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
    u8g.setHiColorByRGB(255,255,255);
  }
}
void loop(void) {
  u8g.firstPage();  
  do {
  draw();

  } while( u8g.nextPage() );
  
  // rebuild the picture after some delay
  delay(50);
}

显示不出来
回复 支持 反对

使用道具 举报

发表于 2016-12-20 06:40:00 | 显示全部楼层
搞定,把字体编码信息的倒数4,5位数改了就能显示了,不知道是不是1.18.1版U8的问题,谢谢楼主的分享,让小白能成功显示中文感谢
回复 支持 反对

使用道具 举报

发表于 2016-12-20 23:29:31 | 显示全部楼层
软件谁有  麻烦发一份 到[email protected]  好人一生平安
回复 支持 反对

使用道具 举报

发表于 2017-2-20 09:22:27 | 显示全部楼层
aupu_103t 发表于 2016-12-20 06:40
搞定,把字体编码信息的倒数4,5位数改了就能显示了,不知道是不是1.18.1版U8的问题,谢谢楼主的分享,让小 ...

我也遇到同样的问题,请问具体怎么改?谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-20 17:39:25 | 显示全部楼层
aupu_103t 发表于 2016-12-20 06:40
搞定,把字体编码信息的倒数4,5位数改了就能显示了,不知道是不是1.18.1版U8的问题,谢谢楼主的分享,让小 ...

我就根据1.18.1版编的,但是我下载了几个1.18.1版,不知道是那个,还有IDE有没有影响,无法判断。
回复 支持 反对

使用道具 举报

发表于 2017-10-15 11:07:52 | 显示全部楼层
aupu_103t 发表于 2016-12-20 06:40
搞定,把字体编码信息的倒数4,5位数改了就能显示了,不知道是不是1.18.1版U8的问题,谢谢楼主的分享,让小 ...

怎么改4-5,能否发个代码例子看看。谢谢
回复 支持 反对

使用道具 举报

发表于 2017-10-21 23:25:22 | 显示全部楼层
504835618 发表于 2017-10-15 11:07
怎么改4-5,能否发个代码例子看看。谢谢

楼主软件生成字符编码号从0开始,我修改为非0,对应修改数组中第11、12的数值,显示正常,谢谢楼主的软件,省去了计算,非常方便
回复 支持 反对

使用道具 举报

发表于 2019-8-17 21:41:47 | 显示全部楼层
想学习学习 但是连接已经不能使用,麻烦发邮箱个谢谢 [email protected]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 17:39 , Processed in 0.047892 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表