历史上的今天
返回首页

历史上的今天

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

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

2019-09-16 来源:eefocus

/*

*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;

    }

}


推荐阅读

史海拾趣

DB Unlimited公司的发展小趣事

随着公司业务的不断发展壮大,DB Unlimited开始将目光投向全球市场。公司积极开拓海外市场,通过参加国际展会、与海外客户建立合作关系等方式,成功将产品推向了全球各地。同时,公司还根据不同国家和地区的市场需求和文化差异,对产品进行本地化改造和优化,进一步提高了产品的市场适应性和竞争力。

ETL [E-Tech Electronics LTD]公司的发展小趣事

ETL始终将品质管理和客户服务放在首位。公司建立了完善的质量管理体系,从原材料采购到生产、检测、包装等各个环节都进行严格的质量控制。同时,ETL还注重提升客户服务水平,为客户提供全方位、个性化的服务。这些措施使得ETL的产品质量得到了客户的高度认可,也为公司赢得了良好的口碑。

Devar Inc公司的发展小趣事

随着电商的兴起,Devar Inc公司看到了智能包装的巨大潜力。公司研发了一系列智能包装解决方案,利用传感器、RFID技术和物联网技术,实现了产品的追踪、溯源和防伪功能。同时,Devar还积极探索将AR技术应用于包装设计中,为消费者提供与产品包装互动的体验。这些创新不仅提升了产品的附加值,也增强了消费者对品牌的认同感。

Cynergy 3公司的发展小趣事

Cynergy 3公司最初以生产干簧开关起家,位于英国多塞特郡的工厂见证了公司从一个小型制造商到全球领先者的蜕变。通过不断创新和改进,Cynergy 3的干簧继电器产品逐渐获得了市场的认可。公司注重产品质量和可靠性,确保每一个出厂的产品都能达到最高的标准。这种对质量的坚持使得Cynergy 3在竞争激烈的电子行业中脱颖而出。

Hitron公司的发展小趣事

随着技术的不断发展,Cynergy 3不断将新技术应用于产品研发中。在液位传感器和流量传感器领域,公司推出了多款具有创新功能的产品,满足了市场对于高精度、高可靠性的需求。此外,Cynergy 3还在RF中继技术方面取得了重大突破,开发出了一系列适用于特定通信应用的继电器产品。这些技术创新不仅提升了公司的市场竞争力,也为公司赢得了众多行业奖项和荣誉。

DATATRONICS公司的发展小趣事

DATATRONICS深知产品质量是企业生存和发展的基石。因此,公司投入大量资源用于建立和完善质量管理体系,确保每一款产品都符合国际标准和客户要求。同时,DATATRONICS还注重品牌形象的塑造,通过一系列营销活动和公益活动,提高了品牌知名度和美誉度。

问答坊 | AI 解惑

ZT:一个技术人员悟到的管理秘诀

我在原来的公司做的时候,就注意观察公司在管理上的成功和失败的经验教训,并在网络上找很多关于管理的文章。     管理上有很多故事,让我领悟到管理就是设计一个合理的机制。          故事之一:分粥          分粥的故 ...…

查看全部问答>

驱动加载出错

我写了个驱动程序,编译没错,但是insmod的时候就出现 moduletest: please compile with -fno-common insmod: cannot insert `moduletest.ko\': Invalid module format (-1): Exec format error的错误,不知道为什么,求高手指教. 源码如下: #inclu ...…

查看全部问答>

s3c2440 for wince4.2 的 eboot启动时出现的网络端口问题,高手请进给解答一下。

启动后,DNW出现下列打印信息: WinCE NAND Boot v1.00 Jun 11 2007 11:50:13 Start Eboot... Start Launch...0 Microsoft Windows CE Ethernet Bootloader Common Library Version 1.0 Built Mar 13 2003 23:05:42 Microsoft Windows CE SMD ...…

查看全部问答>

STM32菜鸟程序!

拿到STM32开发板三天了!写了几个程序!程序简单但对入门还是有点帮助的!我自己下次调试成功了的! 上传供一起刚入门的朋友分享下! 第一天学习:MDK工程建立和GPIO 第二天学习:RCC和按键程序 第三天学习:EXTI程序(一个中断按键程序) 每 ...…

查看全部问答>

请教2407数据区与程序存储区的问题!谢谢

我用2407做一个液晶显示,因为有存放大量字符数据的常量数组,我把这些数组定义为const unsigned char 类型。cmd文件如下: -o LCD.out - stack 60 MEMORY {     PAGE 0:    /* Program Memory */      & ...…

查看全部问答>

电风扇模拟控制系统设计 求助 !!真的不会啊!!

电风扇模拟控制系统设计1.用4个LED显示电风扇的工作状态(1,2,3,4四档风力),显示风类:“自然风”、 “常风”和“睡眠风”。2.设计 “自然风”、 “常风”和“睡眠风” 三个风类键用于设置风类; 设计一个“摇头” 键用于控制电机摇头。 &nb ...…

查看全部问答>

MSP430极品的中文资料,本人极力推荐!

偶然发现这个PDF,与别的430资料不同,这里全是经典,传上来与大家分享下!…

查看全部问答>

趣味实验

家里有一个上小学的女孩子,有一天兴冲冲的跟我说,要做一个伟大的实验给我看,并且不许我偷看。看着她神秘的样子,我想小孩子搞什么名堂。大概过了半个多小时,她跑进来把我屋里面的灯给关了,然后又匆匆忙忙的跑出去。不一会儿,她小心翼翼的端着 ...…

查看全部问答>

知道一些MOS管的选择方法

        我们知道, MOS管最常见的应用可能是电源中的开关元件,此外,它们对电源输出也大有裨益。服务器和通信设备等应用一般都配置有多个并行电源,以支持N+1 冗余与持续工作 (图1)。各并行电源平均分担负载,确保 ...…

查看全部问答>

液晶显示图片

在执行以下函数的时候 用仿真发现 i 只能加到14,然后就归零(也就是程序退不出第一个for循环),为什么?按道理说不该这样啊 显示上半屏函数: Write_Command(0x34); //  *******显示上半屏内容设置    for(i=0;i…

查看全部问答>