字库怎么安装到sdarduino sd卡逐行读取

stm32+ra+高通字库 - STM32/STM8技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
Hot [直播]
stm32+ra+高通字库
20:19:59  
遇到一个问题。当用RA8875的DMA读取FLASH的图片后。使用外部字库写汉字时出现一直忙的状态、不知道有没有高手之前遇到过。是不是和flash芯片有关。求指导。。。。
21:19:37  
这个有没有中文的芯片手册呢,英文好难看懂啊
21:14:29  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
{:4_96:}{:4_96:}{:4_96:}{:4_96:}
18:15:01  
hhhhhhhhhhhhhhhhhhhhhh
助理工程师
10:24:51  
谢谢楼主分享!!!!!!!!!!!!!!!!!!!!1
助理工程师
21:55:59  
非常感谢你!!!!!!!!!!!!!!!!!!
13:15:57  
hhhhhhhhhhhhhhhhhhhhhh
这是什么几个意思??????????????????、
11:06:18  
markgdgfdhdsfgdfhdsd
等待验证会员
13:11:57  
因为你使用DMA时使用了SERISL0或者1,把它改为与DMA不同的串口即可
21个问题&&&&&&&&13991个浏览
21个问题&&&&&&&&24182个浏览
70个问题&&&&&&&&10334个浏览
Powered by类型:版式:1/ 2163矢量3D图标各种包矢量3D图标各种包1666463五角星盾盘五角星盾盘66400坡道gadgets3d LCD和SD盾1 0坡道gadgets3d LCD和SD盾1 00655黄金盾黄金盾65260U盾3Dmax模型(含psd分层文件)U盾3Dmax模型(含psd分层文件)26102光滑盾牌3光滑盾牌310131光滑盾牌3光滑盾牌31321234金盾服装店图片金盾服装店图片21231苏密勒斯盾苏密勒斯盾371三角盾模型三角盾模型730盾V1盾V1331戴维/戴维之星树/灌木礼帽盾。戴维/戴维之星树/灌木礼帽盾。350美国队长盾(耳环的大小)美国队长盾(耳环的大小)530实验室在Arduino光谱吸光度盾又名光密度计实验室在Arduino光谱吸光度盾又名光密度计330复仇者之盾形徽章复仇者之盾形徽章320Arduino盾墙安装外壳Arduino盾墙安装外壳212美国队长盾千篇一律的V2美国队长盾千篇一律的V21105mm宙斯盾夹化妆盒雅典娜5mm宙斯盾夹化妆盒雅典娜120黄金盾黄金盾220和海拉尔盾和海拉尔盾200适配器安装爵士拾音器盾护舷科罗纳低音II(现代球员补发)适配器安装爵士拾音器盾护舷科罗纳低音II(现代球员补发)000对于Arduino printbots简约的盾对于Arduino printbots简约的盾000美国队长盾雕像处理美国队长盾雕像处理000Arduino案例盾钻出来Arduino案例盾钻出来000计数器供水条件下盾计数器供水条件下盾000流行盾布劳纳幻影C安装流行盾布劳纳幻影C安装000对事-O-MATIC / stepstruder MK 7草案盾对事-O-MATIC / stepstruder MK 7草案盾000对事-O-MATIC / stepstruder MK 7草案盾对事-O-MATIC / stepstruder MK 7草案盾000视差盾BOT前铲视差盾BOT前铲000mendelmax Y带/滑轮盾mendelmax Y带/滑轮盾000对于谷歌的隐私玻璃/指标盾对于谷歌的隐私玻璃/指标盾001风扇通风空气温度04盾风扇通风空气温度04盾010对事-O-MATIC / stepstruder MK 7草案盾对事-O-MATIC / stepstruder MK 7草案盾11023现实blason盾牌形状向量现实blason盾牌形状向量102364光滑盾牌4光滑盾牌436为您推荐广告 1
& 共2页 & 到第
千图网为您找到54张素材,您还可以找到3d盾图片素材,3d盾背景图片,3d盾设计素材,3d盾矢量图素材等信息,我们为您提供3d盾图片素材免费下载,3d盾矢量图素材下载,3d盾模板下载,3d盾背景素材下载,3d盾素材下载等服务。暂无数据暂无数据3d盾图片素材免费下载,千图网为中国设计师们免费提供包括,,。&
登录千图网
或该帐号还未注册,验证加载中该帐号还未注册,验证加载中
工作日:9:00 - 22:00
节假日:9:00 - 18:00
电话客服 :
400-998-7011 工作日:9:00 - 22:00
已连续签到天
再保持天连续签到将可获得共享VIP1天列表网公众号列表活动随时有扫我活动不错过
您是不是在找:
您是不是在找:
全新现货 LM324 LM324DR 贴片SOP14 运算放大器 优势配单产品种类: 运算放大器 - 运放增益带宽生成: 1.2
微信扫一扫快速获取电话
杭州鼎玛电子专业经营世界著名品牌IC,MOSFET.74HC,74LS,,LM,LF,TL逻辑电路,运放,比较
微信扫一扫快速获取电话
专业供应二三极管,电容电阻,IC等电子元器件!!为各厂家提供配套服务!全新原装正品,欢迎订购! 我们的承诺:以质量求生存、以信誉
微信扫一扫快速获取电话
杭州鼎玛电子专业经营世界著名品牌IC,MOSFET. 74HC,74LS,,LM,LF,TL逻辑电路,运放,比
微信扫一扫快速获取电话
供应贴片二三极管2SD882深圳市金益隆电子有限公司专营:电容、电阻、钽电容、电感、LED发光管、IC,二、三极管、贴片(SMD
微信扫一扫快速获取电话
供应AEM贴片保险丝 2410贴片 250V型号:MFTM
微信扫一扫快速获取电话
无铅中温锡膏是一款环保免洗型锡膏,适用于对温度要求较高而对抗疲劳强度要求较低的电子产品.
产品特点 01: 焊点较光亮、饱满、
微信扫一扫快速获取电话
全新现货 LM324 LM324DR 贴片SOP14 运算放大器 优势配单产品种类: 运算放大器 - 运放增益带宽生成: 1.2
微信扫一扫快速获取电话
微信扫一扫快速获取电话
微信扫一扫快速获取电话
本公司专注于贴片元器件,主要代理销售、SAMSUNG、TDK、YAGEO,WAISIN品牌贴片电容,常期备有、
微信扫一扫快速获取电话
微信扫一扫快速获取电话
温馨提示:
由于电子元器件产品型号众多,无法全部上传,找不到的型号,可直接联系我们客服。产品图片、价格、属性、物流运费
微信扫一扫快速获取电话
贴片、稳压管、 二、三极管,钽电容、电容、电阻、电感、磁珠、发光管等各系列贴片(SMD)直插(DIP)等电子元件。本公司实力雄厚
微信扫一扫快速获取电话
原装正品 大量现货 优势热卖
微信扫一扫快速获取电话
微信扫一扫快速获取电话
产品图片(示例图片)的相关简要参数如下:Product No.VE-16V221MF80-RManufacturersLELON
微信扫一扫快速获取电话
封装: 0805贴片电容 尺寸规格请参照图片中量尺及封装示意图,包装形式:编带备注:全新原装常规型号都有现货的,非常规的请与店主
微信扫一扫快速获取电话
致各位诚信买家:由于本公司的电子物料型号众多,应用广泛,价格也不定期有所浮动,产品的价格不能及时更新,所以阿里上面所标识的
微信扫一扫快速获取电话
现货供应,环保产品,提供相关产品应用的技术支持,欢迎来电咨询。
微信扫一扫快速获取电话
信誉第一 货真价实 服务优质
交易公平 共赢互惠 共同发展
【公司简概】 深圳市悠酷逸数码科技有限公司是一家专业的电子元
微信扫一扫快速获取电话
微信扫一扫快速获取电话
明信达LED光源,采用先进的生产设备和领先于同行业的封装工艺及技术,采用进口芯片流明式封装,本公司生产的大功率LED具有亮度高,
微信扫一扫快速获取电话
深圳市东新微电子是一家专业经营半导体器件供应商, 一直致力于经销世界著名的电子元器件各大品牌集成电路。 信誉第一是我们的宗旨。近
微信扫一扫快速获取电话
SMD POWER INDUCTORCDH2D11-2.2UH良好的可焊性和高耐热性适合大电流适用于多种DC-DC转换器的理想选
微信扫一扫快速获取电话
全新环保黑金刚贴片铝电解电容
微信扫一扫快速获取电话
产品系列:贴片功率电感.一系列电感12*12*5应用广泛:开关电源 工控设备 液晶显示器、电源模块、网卡、充电器、数码产品、手提
微信扫一扫快速获取电话
(由于电子元器件产品太多未能每个型号都上传原图片请谅解。如需此型号的原照片请联系我.请往下拖下边有多张型号的图片.公司相册里边有
微信扫一扫快速获取电话
产品主要应用于民用、工业、军事领域的通讯、网络、仪器仪表、 电脑、电视、VCD/DVD、音响、IT等。优势的库存价格和可靠的质量
微信扫一扫快速获取电话
1.特长及应用Features & Applications(1)轻便薄小,底部镀银,成本低,适合表面贴装。(2)开磁路构造设计
微信扫一扫快速获取电话
深圳宏润佳科技有限公司ShenzhenHongrunjiaTechnologyCO.,LTD深圳市福田区福华路京海花园26ESh
微信扫一扫快速获取电话
产品详细说明书一。电气参数ELECTRICAL DATA1规格型号Model NO.49S-SMD2振动模式Mode of Os
微信扫一扫快速获取电话
TDK贴片电容产品说明:1.产品图片为整系列封装图片,具体型号以实物为准。2.因为时间和购买数量的不同会有不同的价格浮动,以实时
微信扫一扫快速获取电话
【购买须知】 1、风华正品行货。2、整盘价格请咨询在线客服。3、全部是最新货源,绝非陈年旧货处理,请勿与换标签的回收货比价。
微信扫一扫快速获取电话
我公司销售多家知名品牌直插和贴片二极管,贴片型二极管采用先进的设备,引入完全无铅制程,表面黏着元件封装方形扁平无接脚封装技术,达
微信扫一扫快速获取电话
金凯发电子主营:IC系列产品,电容、电阻(大小功率一系列)、排阻、可调电阻、涤纶电容、钽质电容、电感、磁珠、二
微信扫一扫快速获取电话
特性及应用 ● 具有高功率,高饱和电流,低阻抗,小型化之特点。   ● 适用于回流焊SMT工艺。 ● 广泛应用于数码产品,扫描仪
微信扫一扫快速获取电话
深圳市伟明电子发展有限公司,立足于深圳市华强北电子市场,并开拓国内外电子市场及电子商务。公司生产销售的产品有色环电感、(0204
微信扫一扫快速获取电话
我司生产0603高亮红灯 品质保证
微信扫一扫快速获取电话
华盛行电子有限公司是一家电子元器件的企业,是经国家相关部门批准注册的企业。二极管:1/2W、1W、2W、3W,5W全系列稳压管、
微信扫一扫快速获取电话
1.本产品为进口拆机电子元件,拍下请注意。所标价格为参考价,元器件价格波动频繁,拍前请先与我们联系,价格以当天报价为准!2.电子
微信扫一扫快速获取电话
2sd882贴片相关厂家:
2sd882贴片周边分类:
&2017 列表网&琼ICP备号-12&增值电信业务经营许可证B2-&U8glib如何显示中文 - MakerLab创客实验室
MakerLab创客实验室 — Let's Make something.
已注册用户请
3D打印机上用的LCD控制器都是英文的菜单,给新手带来了障碍,MakerLab现已开发支持中文的Marlin版本
U8glib如何显示中文
U8glib之前并没有用过。最近为了让Marlin固件支持中文显示(需要支持图形显示的LCD,如常见的12864液晶),花时间研究了一下这个库。很强大、很好的一个库。在这里简单介绍一下如何使用U8glib显示中文或其它字体的字(包括英文或其它语言)。希望对有同样或类似需求的朋友能够提供帮助和参考。强大的库U8glib是非常一个非常强大的库,我体验到的强大之处有:1、不同驱动芯片及不同分辨率的支持,这就让用户几乎不必关系底层驱动的部分,只需要写自己的程序就可以了,要知道底层驱动的调试比较费时间的;2、不同连接方式支持,可以支持硬件SPI、软件SPI及8位并行控制方式;3、支持Arduino、AVR及ARM等不同芯片,CPU升级时,移植代价比较小;4、多种字体(几十种)可选,从4像素到42像素都有,不过都是最常见的ASCII码,中文等其它特殊字符需要自己定制(即使用自己的字体文件);5、更换或定制字体还算容易,对于我来说,的确是研究了一段时间才搞明白如何添加新字体,不过一旦掌握,就很简单了;6、支持横屏或竖屏显示;
局限性虽然U8glib有很多优点,但也有它的局限性,至少我发现是这样的。尤其是对中文这样的无法用ASCII码覆盖的复杂字符(需要用Unicode标识)。U8glib的局限性主要体现者对字体的处理方式上,虽然支持几十种字体,但每种字体最多只支持255个字符(0x01~0xFF),而对于中文、韩文及日文等的字符数量成千上万个,要想实现中文语句:创客实验室,可能需要切换不同的字体来实现对各个字的显示,总是切换字体确实比较麻烦,并且切换字体后,还需要重新确定显示坐标。另一个局限也是提现在字体方面,就是U8glib字体都是0x00~0xFF的ASCII码,而中文则是Unicode,当用ASCII表示中文时,意味着不是完整的Unicode,而是发送\xab\x03\xef等之类的不易读的ASCII码(不是标准的)。所以要想实现显示一句中文,需要自己对应好正确的字体和ASCII码两个才可以正确显示一个汉字,并且每一个汉字都可能需要不同的字体和ASCII。说的有点模糊,看看下面这个例子吧。如果你不想学这些东西,可以直接下载我整合的bdf文件:举例如何显示创客实验室这5个汉字呢?要想显示这几个汉字,还真是不简单,让我们按照步骤一步步的走。注意,U8glib没有所谓的带或不带中文字库,所以带不带中文字库的显示屏都需要以下步骤(这是我的理解,如果我有错误,欢迎指正)。
第一步,确定&code&创客实验室&/code&这几个汉字的Unicode码这一部不难,有很多工具可以使用,我用的上这样网站:
输入这5个汉字后,点击向下的箭头,就可以看到这几个字分别对应的Unicode了:
[CJK Unified Ideographs]客
[CJK Unified Ideographs]实
[CJK Unified Ideographs]验
[CJK Unified Ideographs]室
[CJK Unified Ideographs]第二步,使用U8glib提供的工具,生产字体文件U8glib为我们提供了必要的工具和文档,下载U8glib后(
,由于这个地址需要翻墙,所以没办法翻墙的朋友可以到网盘下载: ,提供了多个不同版本,我使用的是Arduino版本,并且我把所有的源文件都下载了下来,因为有几个工具及文件在Arduino版本代码里面并没有,需要单独下载),可能需要另外下载的工具上 bdf2u8g(.exe)【用来把字体文档bdf转化为字体数据的】,Unicode.bdf(则是完整的Unicode字体文件,比较大,在U8glib源码中可以下载到 9.8M大小),都下载完成后,放入同一个文件夹,来转换字体,命令如下(主要windows版本需要加.exe,linux系统不需要):linux系统命令是:./bdf2u8g -b 0 -e 255 -l 156 -u 157 unifont.bdf chinese_test chinese_test.cwindows系统命令是:bdf2u8g.exe -b 0 -e 255 -l 156 -u 157 unifont.bdf chinese_test chinese_test.c等等,这都是什么意思?bdf2u8g命令的参数说明:必须的参数:bdf文件,这是你需要转换的字体文件,bdf格式;字体名称,用于生产代码数据的标识;.c文件,c语言文件;可选参数:[-b 数字] ASCII码的起始位,范围是0~255;[-e 数字] ASCII码的结束位,范围是0~255;[-l page] 用于定位超出0~255范围的Unicode的页数,如果ASCII码范围是0~127,则使用这个参数,如果范围在128~255,则使用下面的-u参数;[-u page] 用于定位超出0~255范围的Unicode的页数,如果ASCII码范围是128~255,则使用这个参数,如果范围在0~127,则使用上面的-l参数;创 521B计算页地址为:0x521B/0x80 = 0xA4 = 164,由于1B=27 & 7F,所以使用-l参数即可,命令为:./bdf2u8g -b 27 -e 27 -l 164 unifont.bdf chinese_test chinese_test.c执行命令后,会输出:
encoding range 27..27bbx 14 16 0 -2 encoding 27input file '../bdf/unifont.bdf'u8g font name 'chinese_test'output file 'chinese_test.c'这时打开生产的c代码文件内容如下:
#include &u8g.h&const u8g_fntpgm_uint8_t chinese_test[55] U8G_FONT_SECTION(&chinese_test&) = {
0,16,16,0,254,0,0,0,0,0,27,27,0,14,254,0,
0,14,16,32,16,0,254,8,4,8,4,20,4,18,36,33,
36,64,164,190,36,34,36,34,36,34,36,42,36,36,36,32,
132,32,132,31,148,0,8};需要注意的是,如果在Arduino IDE下使用,需要调整为:
#include &utility/u8g.h&const u8g_fntpgm_uint8_t chinese_test[55] U8G_SECTION(&.progmem.chinese_test&) = {
0,16,16,0,254,0,0,0,0,0,27,27,0,14,254,0,
0,14,16,32,16,0,254,8,4,8,4,20,4,18,36,33,
36,64,164,190,36,34,36,34,36,34,36,42,36,36,36,32,
132,32,132,31,148,0,8};前面的include部分是必须改的,U8G_SECTION(&.progmem.chinese_test&)这个部分可能不同版本需要不同的写法,我用的版本必须改为下面的,否则会有错误。完整的Arduino代码(显示创一个字):
#include &U8glib.h&#include &utility/u8g.h&const u8g_fntpgm_uint8_t chinese_test[55] U8G_SECTION(&.progmem.chinese_test&) = {
0,16,16,0,254,0,0,0,0,0,27,27,0,14,254,0,
0,14,16,32,16,0,254,8,4,8,4,20,4,18,36,33,
36,64,164,190,36,34,36,34,36,34,36,42,36,36,36,32,
132,32,132,31,148,0,8};U8GLIB_MINI12864 u8g(45,47);void draw(void) {
// graphic commands to redraw the complete screen should be placed here
u8g.setFont(chinese_test);
//u8g.setFont(u8g_font_osb21);
u8g.drawStr( 0, 22, &\x1b&);}void setup(void) {
// flip screen, if required
// u8g.setRot180();
// set SPI backup if required
//u8g.setHardwareBackup(u8g_backup_avr_spi);
// assign default color value
if ( u8g.getMode() == U8G_MODE_R3G3B2 )
u8g.setColorIndex(255);
else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
u8g.setColorIndex(3);
// max intensity
else if ( u8g.getMode() == U8G_MODE_BW )
u8g.setColorIndex(1);
// pixel on}void loop(void) {
// picture loop
u8g.firstPage();
} while( u8g.nextPage() );
// rebuild the picture after some delay
delay(500);}那么如何显示创客实验室5个汉字呢?你可能注意到了。这5个汉字并没有在unicode的同一页,也就是如果你想节省flash空间,降低字体数据大小的话,需要每个字生产一个字体,并且每个字切换一下字体(严格来说不是字体了,而是字数据),其它几个字的生产代码分别是:客
5BA2生产代码:./bdf2u8g -b 162 -e 162 -u 183 unifont.bdf chinese_ke chinese_ke.c;实
?5B9E生产代码:./bdf2u8g -b 158 -e 158 -u 183 unifont.bdf chinese_shi chinese_shi.c;验
?9A8C生产代码:./bdf2u8g -b 140 -e 140 -u 132 unifont.bdf chinese_yan chinese_yan.c;室
?5BA4生产代码:./bdf2u8g -b 164 -e 164 -l 183 unifont.bdf chinese_shi2 chinese_shi2.c;
其中有几个字,都在5B00~5BFF范围内,可以生产在一个文档中,不过夹杂的一些不相关字会占用flash空间。数据都生产完成了,但每个字都需要切换一次字体,真的让人受不了,有没有解决办法呢?答案是有的,我经过很多测试和对比,发现如果直接将字体数据进行合并,会导致显示不正常,为了克服这个问题,需要对单独生产的数据进行调整,调整后的创客实验室5个字的数据为:
const u8g_fntpgm_uint8_t chinese_test[] U8G_SECTION(&.progmem.chinese_test&) = {
0,16,16,0,254,0,0,0,0,0,161,165,0,14,254,0,/\*单独生成的字体,每个字体的第一行都是这种字体是属性信息,由于咱们这几个汉字除了编码不同,其它属性完全一样,所以我们可以用一个来进行修改,注意&b&161,165&/b&这两个数据非常重要,分别代表编码的起始和终止位置161~165就是十六进制的A1~A5 \*/
//Chinese &创&
0,14,16,32,16,0,254,8,4,8,4,20,4,18,36,33,
36,64,164,190,36,34,36,34,36,34,36,42,36,36,36,32,
132,32,132,31,148,0,/\*8,每个单独生产的数据,最后一位貌似有特殊用途,如果合并,需要将这一位删除,否则后面的字都无法显示 \*/
//Chinese &客&
0,15,16,32,16,0,254,2,0,1,0,127,254,64,2,136,
4,15,240,16,32,44,64,3,128,28,112,224,14,31,240,16,
16,16,16,31,240,16,/\*16\*/
//Chinese &实&
0,15,16,32,16,0,254,2,0,1,0,127,254,64,2,136,
132,4,128,4,128,16,128,8,128,8,128,255,254,1,64,2,
32,4,16,24,8,96,/\*4\*/
//Chinese &验&
0,15,16,32,16,0,254,0,32,248,32,8,80,72,80,72,
136,73,4,74,250,124,0,4,68,4,36,29,36,228,168,68,
136,4,16,43,254,16,/\*0\*/
//Chinese &室&
0,15,15,30,16,0,255,2,0,1,0,127,254,64,2,128,
4,63,248,4,0,8,32,31,240,1,16,1,0,63,248,1,
0,1,0,255,254};要想显示这5个字,只需要将之前提到的arduino代码中的显示代码改为u8g.drawStr( 0, 28, &\xa1\xa2\xa3\xa4\xa5&);就可以显示了,如图:
可以看到,中文可以显示了,但字体是Unicode.bdf文件中标准的字体,16X16像素,如果想显示个性字体,请参考下一部分
本文最后更新于:一年前
做到第二步就做云里雾里了,1、因为有几个工具及文件在Arduino版本代码里面并没有,需要单独下载),可能需要另外下载的工具上 bdf2u8g(.exe)
------------------请教下这个EXE文件是不是个安装文件,我下下来是个压缩包,2、【用来把字体文档bdf转化为字体数据的】,Unicode.bdf(则是完整的Unicode字体文件,比较大
-----------------这个具体是怎么转的,能写一个图文教程吗3、(主要windows版本需要加.exe,linux系统不需要):linux系统命令是:./bdf2u8g -b 0 -e 255 -l 156 -u 157 unifont.bdf chinese_test chinese_test.cwindows系统命令是:bdf2u8g.exe -b 0 -e 255 -l 156 -u 157 unifont.bdf chinese_test chinese_test.c
------------------这个也许是前面都不搞明白,这步就更不明白了,在哪里输入这个命令?希望站长能写一个图文教程,尽可能的详细一些,方便各位玩家,谢谢!
@ 1、下这个EXE文件是不是个安装文件,我下下来是个压缩包?我记不清了,如果是压缩包,解压后应该会有exe文件,在命令行下测试一下能不能用就可以了。2、这个具体是怎么转的,能写一个图文教程吗?你说的bdf怎么转的?说实话我也不知道,所以建议直接找提供bdf格式的字体来使用。3、哪里输入这个命令?命令行下输入命令。如下图,不过我用的不是windows系统,可能不太一样。
我下下来的,不是EXE文件,里面解压了也没有EXE,把缀改为EXE也不能运行,我是WINDOWS系统的,
@ 仔细找找,我记着有
能传给我一份那个文件吗谢谢
去下下来的文件不是EXE文件,里面也没有EXE文件能传给我一份那个文件吗
&&via iPad
@ zip吧,解压后没有?
这句 & 验 ?9A8C生产代码:./bdf2u8g -b 140 -e 140 -u 132 unifont.bdf chinese_yan chinese_yan.c& 中的132是怎么来的?按照你讲的方法
“ 创 521B计算页地址为:0x521B/0x80 = 0xA4 = 164,由于1B=27 & 7F,所以使用-l参数即可,命令为:./bdf2u8g -b 27 -e 27 -l 164 unifont.bdf chinese_test chinese_test.c ”那么 验 ?9A8C 的计算页地址不是应该
0x?9A8C/0x80 = 0x135 = 309 这样算吗? 结果大于255了,怎么处理的?
@ 好像我写错了。正确的应该就是-u 309,你生成一下数据试试显示正常吗。另外-l -u的参数没有255的限制。-b -e才有255最大限制。
@ 感谢,已经成功显示中文,而且和您的固件原带的也不冲突,只是我又另定义了一种字体,因为我生成的字体数据和您生成的的第一行内容有区别,所以只能另做一种字体了!
也明白了你的字体数据只其实已经又单独生成了32-127这些的ASCII码,之后才是您再添加的中文。这个工作的主要难度在于转换字体数据。感谢您的授之以渔!
以后可能还会有问题,到时再麻烦您解答!
请问你是怎么追加汉字的呢?
我很好奇为什么计算页地址是除以0x80呢?
@ 找一下规律
你好,你说这些步骤二的链接中给的网址都打不开,能给传个其它的下载链接或者能下载的地址么?你的这个网上能提供下载附件么?
@ 哪个链接?如果有条件,请翻墙查看,因为google相关的网站都被封了。
能传给我一份那个文件吗谢谢。下载界面打不开了。万分感谢
我是用 鋒 这个字bdf2u8g.exe -b 210 -e 210 -u 293 unifont.bdf chinese_feng chinese_feng.c转换后/*
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=16 x= 0 y= 0 dx=16 dy= 0 ascent=14 len= 0
Font Bounding box
w=16 h=16 x= 0 y=-2
Calculated Min Values
x= 0 y=-2 dx= 0 dy= 0
ascent = 0 descent= 0
ascent = 0 descent= 0
ascent =14 descent=-2*/#include &u8g.h&const u8g_fntpgm_uint8_t chinese_feng[55] U8G_SECTION(&.progmem.chinese_feng&) = {
0,16,16,0,254,0,0,0,0,0,210,210,0,14,254,0,
0,15,16,32,16,0,254,16,64,16,64,40,252,36,136,65,
80,184,32,16,216,19,38,252,248,16,32,148,248,88,32,83,
254,28,32,224,32,64,32};之后的步骤要怎么做
@ 把生成的代码,全部或部分复制到arduino中u8glib的例子中,然后测试显示一下是否正常。
例子中,是指哪個...因為不是學這的所以不懂得很多
@ arduino IDE中,有例子(example),然后找到u8glib相关的例子即可
@,请教两个问题。第一,所下载的bdf2u8g.exe(1)打不开(win7系统);第二,unicode下载不了,可以给个链接么?
@ 1、bdf2u8g.exe这个是命令行程序,需要在cmd里面输入命令使用。双击打开应该不行。2、unicode应该不难找,你搜索一下吧。可能需要翻墙下载
@,我同@ 的问题一样,第二步直接蒙了,能给个详细的图解么?
@ 你是什么问题具体说一下吧?仔细看一下我的教程,应该能看出端倪。好好理解一下。
@,能将Unicode.bdf传一份给我吗?。谢谢!
@ 来这下载吧,里面包含了官方的所有文件,
@,const u8g_fntpgm_uint8_t chinese_test[53] U8G_FONT_SECTION(&chinese_test&) = {
0,16,16,0,254,0,0,0,0,0,31,31,0,14,255,0,
0,15,15,30,16,0,255,1,0,17,0,17,0,17,0,63,
252,33,0,65,0,129,0,1,0,63,248,1,0,1,0,1,
0,1,0,255,254};之后将这段代码复制到程序相关位置没反应!请教!!
@ Arduino测试代码:
#include &U8glib.h&#include &utility/u8g.h&const u8g_fntpgm_uint8_t chinese_test[55] U8G_SECTION(&.progmem.chinese_test&) = {
0,16,16,0,254,0,0,0,0,0,31,31,0,14,255,0,0,15,15,30,16,0,255,1,0,17,0,17,0,17,0,63,252,33,0,65,0,129,0,1,0,63,248,1,0,1,0,1,0,1,0,255,254};U8GLIB_MINI12864 u8g(45,47);//这个代码非常关键,配置不对lcd及IO意味着无法显示;void draw(void) {
// graphic commands to redraw the complete screen should be placed here
u8g.setFont(chinese_test);
//u8g.setFont(u8g_font_osb21);
u8g.drawStr( 0, 22, &\x1f&);//根据你导出的数据是31,转化为16进制为0x1F}void setup(void) {
// flip screen, if required
// u8g.setRot180();
// set SPI backup if required
//u8g.setHardwareBackup(u8g_backup_avr_spi);
// assign default color value
if ( u8g.getMode() == U8G_MODE_R3G3B2 )
u8g.setColorIndex(255);
else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
u8g.setColorIndex(3);
// max intensity
else if ( u8g.getMode() == U8G_MODE_BW )
u8g.setColorIndex(1);
// pixel on}void loop(void) {
// picture loop
u8g.firstPage();
} while( u8g.nextPage() );
// rebuild the picture after some delay
delay(500);}代码刷入后,应当显示你的字符
@,非常感谢你,我学了很多知识!
@,请教下,我如何在固件font data marlin.h里面加入自己用bdf2u8g生成的代码数据,然后正常显示啊?
@ 首先上面的例子你都可以显示正常,并且明白了里面的原理。然后生成字体数据,包含英文及常见符号和你想要的中文字体,复制到字体文档中;然后编辑翻译部分代码让中文显示的编码跟你想定义的汉字对应,就可以了。具体参考我的代码。
@,已经实现,谢谢您!
U8GLIB_MINI1,47);//这个代码非常关键,配置不对lcd及IO意味着无法显示;
“U8GLIB_MINI1,47);//这个代码非常关键,配置不对lcd及IO意味着无法显示;”请问@,这个45、47具体怎么来的?
&&via iPad
@ 分别是我电路设计中对应的两个io口
可以吧整个库文件放进SD卡,有效避免出错,记得日本人有个用i2c与eeprom做的字库,你们完全有时间把字库放到SD卡里,就是有点耗时间,但是这样你们的LCD程序就完整了,而且有推广价值了,目前你的程序只是翻译了一下而已,求突破!
而且这样就比韩国棒子,日本矮子,快了先进了很多
./bdf2u8g -b 27 -e 27 -l 164 unifont.bdf chinese_test chinese_test.c
是将这个输入到命令窗口吗
@ 是的命令行呢,windows下好像不需要最前面的./就可以
恩 是的 已经成功 不过有些字转换不出来呢 例如“匀”
@ 转出来不是这个字?拿根据显示在字和“匀”,unicode编码差距找原因。很可能是编码计算错误导致的
编码计的问题?那怎么解决啊?
@ 你打算显示“匀”,实际显示为什么汉字?找到那个汉字的unicode,然后对比“匀”和这个字的unicode差距,然后修改bdf2u8g的参数。
显示的是一个方框,里边是NUL,我查了这个在在unicode编码表中就是5300,而且我试了,只要后边是00的字,都显示这样,我猜可能是bdf2u8g的问题,
这个转法是不是只能一个字一个字转,有没有方法把bdf中的都转了
@ 不能都转,但可以最多转255个字符。但都是连续编码才可以。中文字太多,不行
@ 自己做bdf文件是可行的
自己做bdf?怎么做 做出来要怎样计算
@ 应该有字体设计软件可以做bdf,比如定制字体部分中我提到的软件,就可以保存为bdf格式。不需要计算吧,只需要把汉字放在0~255范围内就可以
那要把所有的汉字做出来不是很麻烦?我现在要做的是把汉字转码出来保存,然后通过查询的方式显示需要的汉字
@ 不可能把所有的汉字转出来。用多少转多少。这是u8glib的限制(每种字体255个字符最多),如果用你的方法实现的话,估计需要另外写一个lcd库。
你知不知道转出来的这些码的意义,比如
const u8g_fntpgm_uint8_t dian[55] U8G_FONT_SECTION(&dian&) = {
0,16,16,0,254,0,0,0,0,0,14,14,0,14,254,0,
0,13,16,32,16,2,254,4,0,4,0,4,0,255,224,132,
32,132,32,132,32,255,224,132,32,132,32,132,32,255,224,132,40,4,8,4,8,3,248};这是个“电”字,它和其它字有相同的部分,这些相同的数字代表什么意思?
@ 第一行有特殊含义,上面文章中提了一下,基本就是对这个字库的基本信息描述,我没有完全搞明白,但是,有几个应该是这个含义:1、0,16,16...:中的16应该是字体大小的数据,你转的字体应该是16X16像素的;2、...,14,14,...:中的第一个14代表字体起始ASCII码,第二个14表示结束ASCII码,因为你只转了一个字所以,这两个数字一样。如果你要在这端数据基础上增加另一个字,那么这两个数字就需要做调整,比如放在电数据后面的话,第二个14就需要改为15,比如你的第二个字数据是“脑”这个字的,那么要像显示“电脑”两个字,就需要:u8g.drawStr( 0, 22, &\x0e\x0f&);当然如果你把这两个数字改为...,13,14,...,那么这段代码就需要调整为:u8g.drawStr( 0, 22, &\x0d\x0e&);其它的含义我也不太清楚。希望对你有帮助。
你前边说一次可以转255的字,怎么做,我只能转127个
是不是可以用cmd的批量处理命令让它一次转完,但是不知道批量处理命令怎么用
@ 一个命令转255个,命令是:
./bdf2u8g -b 32 -e 255
../bdf/你的字体文件.bdf font001 font001.c严格来说不是255个,因为从32开始的,32之前的都是不可读字符,所以转了意义不大。
请问一下为什么我是生成的字库是这样的 #include &u8g.h&const u8g_fntpgm_uint8_t 164[18] U8G_SECTION(&.progmem.164&) = {
0,0,0,0,0,0,0,0,0,0,27,27,0,0,0,0,
@ 这应该是空的意思,说明你生成的字体有问题,原因可能是bdf2u8g工具的参数错误,导致在相应bdf文件中没有找到对应的编码导致的。你可以尝试一下其它字找找原因
andy,你好很感谢你的回答,我发送的参数是你教材里面的测试参数来的,不知道是什么原因
@ bdf用的哪个文件?选对了吗?
楼主您好,运行的时候出行的是这样的:C:\Users\DC&bdf2u8g_101.exe -b 27 -e 27 b24.bdf at at.cencoding range 27..27input file 'b24.bdf'u8g font name 'at'output file 'at.c'怎么跟你的相比少了一行呢,还有我的生成的字库也是这样的include &u8g.h&const u8g_fntpgm_uint8_t at[18] U8G_FONT_SECTION(&at&) = {
0,0,0,0,0,0,0,0,0,0,27,27,0,0,0,0,
0,255};这是为何?该怎么解决呀?恳请楼主给予帮助,真诚的谢谢!
@ 你生成的这个字体数据应该是空的,也就是不会显示任何内容,请确认你的b24.bdf文档中含有编号27的数据。建议多试几个不同的编号。
楼主,我试过好多次了,还是不行。方便透漏一下您的qq吗?我加你,截图给你看下我这边的状况。
@ 我的联系方式在这里:
@怎么我生成的和你们的不一样啊!是哪里错了吗?/*
Copyright:
Capital A Height: 0, '1' Height: 0
Calculated Max Values w= 0 h= 0 x= 0 y= 0 dx= 0 dy= 0 ascent= 0 len= 0
Font Bounding box
w= 0 h= 0 x= 0 y= 0
Calculated Min Values
x= 0 y= 0 dx= 0 dy= 0
ascent = 0 descent= 0
ascent = 0 descent= 0
ascent = 0 descent= 0*/#include &u8g.h&const u8g_fntpgm_uint8_t chinese_test[18] U8G_FONT_SECTION(&chinese_test&) = {
0,0,0,0,0,0,0,0,0,0,27,27,0,0,0,0,
請問室 ?5BA4生产代码:./bdf2u8g -b 164 -e 164 -l 183 unifont.bdf chinese_shi2 chinese_shi2.c;-b 164 -e 164 的164如何產生的?
@ 看这里:
@ 首先感谢您的教程,我的U8glib库也能显示中文了,在这里有个问题想咨询一下,为什么我转换的Firefly11点阵字体显示不全?比如:“置”文字右下角少几个像素,那一横没有写完的感觉。而且“开”这个字更是有问题,附上代码:开 -& 0x5F00, 0x5F00/0x80=0xBE(190)命令行:bdf2u8g -b 0 -e 0 -l 190 fireflyR11.bdf chinese_0_190 chinese_0_190.cchinese_0_190.c:{
0,11,11,0,255,0,0,0,0,0,0,0,0,9,0,0,
0,4,9,9,6,0,0,240,144,144,144,144,144,144,144,240
};其他汉字获得的字体数据是26个字节,而这个“开”字只有15个,不知道什么原因。
多试几个字,找找规律。“开”显示出来是什么呢?
@ 显示的更像个瘦了一半的“几”,不到一个汉字的一半,我现在想知道你获取的&开“与我的一样吗?
@,老师好!请问这个 ASCII码的起始位和结束位,是什么?
&&via Android
为什么直接由一组数据就变成了xa1
Powered by
学习系统 基于Rabel

我要回帖

更多关于 arduino oled 字库 的文章

 

随机推荐