历史上的今天

今天是:2024年09月16日(星期一)

2019年09月16日 | LCD显示文字的函数-ARM体系-2440

发布者:superstar11 来源: eefocus关键字:LCD  显示文字  ARM体系 手机看文章 扫描二维码
随时随地手机看文章

/*

*lcd显示汉字

*输入参数:

* x:开始位置横坐标

* y:开始位置纵坐标

* color:字体颜色

* ch[]:文字

*

*/

 

void Draw_Text16(int x, int y, int color, const unsigned char ch[])  

{  

    unsigned short i, j ;  

    unsigned char mask, tem ;  

    for(i=0; i<16; i++)  

    {  

        mask= 0x80 ;  

        tem = ch[i*2] ; //俩个字节一组16位,取第一个字节  

        for(j=0; j<8; j++)  

        {  

            if(tem & mask)  

            {  

                PutPixel(x+j, y+i, color) ;  

            }  

            mask = mask >> 1 ;  

        }   

          

        mask = 0x80 ;  

        tem = ch[i*2 + 1] ;  

        for(j=0; j<8; j++)  

        {  

            if(tem & mask)  

            {  

                PutPixel(x+j+8, y+i, color) ;  

            }  

            mask = mask >> 1 ;  

        }  

    }  



/* 

 * 画点

 * 输入参数:

 *     x、y : 象素坐标

 *     color: 颜色值

 *         对于16BPP: color的格式为0xAARRGGBB (AA = 透明度),

 *     需要转换为5:6:5格式

 *         对于8BPP: color为调色板中的索引值,

 *     其颜色取决于调色板中的数值

 */

void PutPixel(UINT32 x, UINT32 y, UINT32 color)

{

    UINT8 red,green,blue;

 

    switch (bpp){

        case 16:

        {

            UINT16 *addr = (UINT16 *)fb_base_addr + (y * xsize + x);

            red   = (color >> 19) & 0x1f;

            green = (color >> 10) & 0x3f;

            blue  = (color >>  3) & 0x1f;

            color = (red << 11) | (green << 5) | blue; // 格式5:6:5

            *addr = (UINT16) color;

            break;

        }

        

        case 8:

        {

            UINT8 *addr = (UINT8 *)fb_base_addr + (y * xsize + x);

            *addr = (UINT8) color;

            break;

        }

 

        default:

            break;

    }

}


关键字:LCD  显示文字  ARM体系 引用地址:LCD显示文字的函数-ARM体系-2440

上一篇:LCD显示图片的函数-ARM体系-2440
下一篇:触摸屏驱动-JZ2440

推荐阅读

1.问题描述:使用STM32CubeMX配置SD基于SD卡的FATFS文件系统,并进行测试文件的读写。2.测试准备:(1)测试环境: 软件平台:STM32CubeMX -4.22.0;KEIL5 硬件平台:原子战舰V3 测试代码参考硬石例程,下方有附资料链接。此外这是我收藏的帖子地址http://bbs.elecfans.com/forum.php?mod=viewthread&tid=913752&extra=(2)测试环境搭建: 硬件图就不发了...
北极星太阳能光伏网获悉,近日中电赛普检验认证(北京)有限公司发布了已发认证证书状态信息表2019年9月版,其中涉及光伏技术39项,详情如下:中电赛普检验认证(北京)有限公司已发认证证书状态信息表2019年9月版
AI 应用的落地,要回归商业本质。由雷锋网&AI 掘金志主办的「第三届中国人工智能安防峰会」在杭州正式召开。 本届峰会以「洗牌结束,格局重塑」为主题,会上代表未来新十年的 15 家企业,为现场 1000 余位听众和线上几十万观众,分享迎接安防新十年的经营理念与技术应用方法论。 峰会之上,海康威视 EBG 解决方案部总裁李亚亚带来了题为「赋能数字...
苹果于线上渠道正式发布了包括iPhone、Apple Watch、iPad在内的多款全新产品,此前在网上疯传的所谓iPhone 13与Apple Watch S7产品图给大家带来的悬念也终于一扫而空——在Apple Watch Series 7上,苹果依旧延续了过去的圆角设计。 除了硬件产品外,在发布会上苹果也公布了此前在WWDC上发布的iOS 15等操作系统的上线日期,广大使用Beta版固件尝鲜...

史海拾趣

问答坊 | AI 解惑

单片机如何采集内部产生的方波信号?

小弟在做一个试验,就是从单片机内部引脚产生一个占空比可调 频率可调的方波,然后进入AD,AD转换后在通过本身单片机实现在液晶显示转换结果, 现在我是分别做的这两部分:1.从外部输入一个方波信号,能实时液晶显示转换结果      ...…

查看全部问答∨

请教一个关于s3c2410 UART的问题

我需要用xmodem协议从pc机下载一个文件 代码用的是vivi现成的,在57600的波特率下能正常运行 但是提高到115200的时候总是传一会儿就会出错(但是vivi是在115200波特率下正常运行) 读uerstat寄存器发现是overrun错, 明明手册上写的是当读出uer ...…

查看全部问答∨

FT232的虚拟COM问题

板子上面使用了FT232芯片做USB转UART,板子通过USB连接到电脑时,电脑在设备管理器中显示的是COM口 请问如果要在写一个程序和板子通讯的话,那么是不是作为COM口通讯就可以了…

查看全部问答∨

普通IO通信问题

想请教下两个单片机的IO口通过一根网线相连接.(八个普通的IO相连) 怎样才能知道网线中哪根通哪根断了.还有A单片机的哪个口对应的B单片机的哪个口. 不太知道思路.…

查看全部问答∨

有谁在VS2005下开发sm5.0数据库为sqlite

有谁在VS2005下开发sm5.0数据库为sqlite,给发一个示例,8844.4321@163.com…

查看全部问答∨

再来讨论个pll电路的设计

adf4360-7的频率源,没设计过rf高频电路,不知道输出的pcb该如何布线。…

查看全部问答∨

TI 电源开关设计秘笈30 例(共3个PDF)

电源设计一直是工程师面对的一个难题,随着全球节能环保意识的提升,设计简捷、高效、轻巧的绿色电源成为工程师的首要任务,为了帮助工程师解决这方面的难题,现在特别隆重推出大量实用资料供工程师朋友下载,目前推出的一本电子书叫做《电源开关设 ...…

查看全部问答∨

推挽型射极跟随器

推挽型射极跟随器…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved