历史上的今天

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

正在发生

2018年09月29日 | STM32f4---TFTLCD显示实验代码(06)

发布者:EnchantedBreeze 来源: eefocus关键字:STM32f4  TFTLCD  显示实验 手机看文章 扫描二维码
随时随地手机看文章

特别注意:本函数使用了printf来打印 LCD ID,所以,如果你在主函数里面没有初始化串口,那么将导致程序死在printf里面!!如果不想用printf,那么请注释掉它。

LCD 驱动相关的函数就给大家讲解到这里。接下来,我们看看主函数代码如下:

int main(void)

{  

    u8 x=0;

  u8 lcd_id[12];       //存放 LCD ID 字符串

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2

  delay_init(168);  //初始化延时函数

  uart_init(115200);    //初始化串口波特率为115200

  

  LED_Init();          //初始化 LED

    LCD_Init();         //初始化 LCD FSMC 接口

  POINT_COLOR=RED;  

  sprintf((char*)lcd_id,"LCD ID:X",lcddev.id);//将 LCD ID 打印到 lcd_id数组。

     while(1)  

  {      

    switch(x)

    {

      case 0:LCD_Clear(WHITE);break;

      case 1:LCD_Clear(BLACK);break;

      case 2:LCD_Clear(BLUE);break;

      case 3:LCD_Clear(RED);break;

      case 4:LCD_Clear(MAGENTA);break;

      case 5:LCD_Clear(GREEN);break;

      case 6:LCD_Clear(CYAN);break;  

      case 7:LCD_Clear(YELLOW);break;

      case 8:LCD_Clear(BRRED);break;

      case 9:LCD_Clear(GRAY);break;

      case 10:LCD_Clear(LGRAY);break;

      case 11:LCD_Clear(BROWN);break;

    }

    POINT_COLOR=RED;     

    LCD_ShowString(30,40,210,24,24,"Explorer STM32F4");  

    LCD_ShowString(30,70,200,16,16,"TFTLCD TEST");

    LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");

      LCD_ShowString(30,110,200,16,16,lcd_id);    //显示 LCD ID           

        

    LCD_ShowString(30,130,200,12,12,"2014/5/4");                    

       x++;

    if(x==12)x=0;

    LED0=!LED0;delay_ms(1000);  

  }  

}

该部分代码将显示一些固定的字符,字体大小包括24*12、16*8和12*6等三种,同时显示LCD 驱动 IC 的型号,然后不停的切换背景颜色,每 1s 切换一次。而 LED0 也会不停的闪烁,指示程序已经在运行了。其中我们用到一个 sprintf 的函数,该函数用法同 printf,只是 sprintf把打印内容输出到指定的内存区间上,sprintf的详细用法,请百度。

另外特别注意:uart_init 函数,不能去掉,因为在 LCD_Init 函数里面调用了 printf,所以一旦你去掉这个初始化,就会死机了!实际上,只要你的代码有用到printf,就必须初始化串口,否则都会死机,即停在 usart.c里面的 fputc函数,出不来。


关键字:STM32f4  TFTLCD  显示实验 引用地址:STM32f4---TFTLCD显示实验代码(06)

上一篇:STM32f4按键输入实验代码(01)
下一篇:STM32f4---TFTLCD显示实验代码(05)

推荐阅读

   微软公司早早就定在美国时间 10 月 2 号于纽约召开新品发布会。届时, Surface Laptop 2 和 Surface Pro 6 极有可能同时登场。据此前泄露的消息来看, Surface Pro 6 的外形变化不大,这次的升级主要还是换上第 8 代酷睿处理器,至于 USB-C 、窄边框等设计似乎并未加入。而 Surface Laptop 2 方面,早前一度传闻的的黑色配...
28日,江西省首家民营银行江西裕民银行成立暨首笔贷款授信仪式在南昌举行。 江西裕民银行的成立开创了多项第一。该银行不仅是金融赣军中的第一家民营银行,而且还是中国银保监会时隔两年半之后重启批筹的第一家民营银行,同时也是中国人民银行《金融科技发展规划(2019-2021年)》正式颁布之后第一家成立的法人银行,更具特色的则是全国首批、江西首家建设...
集微网消息,随着电子设备智能化的发展,人们对智能设备的依赖越来越高。然而,日常生活中无处不在的静电给电子设备带来多样化的考验,如何进行有效的ESD防护已成为电子设备制造商面对的重要课题。 常见的ESD事件包括秋冬季节去触摸门把手时,伴随着静电响声,指尖的那一下刺痛;北方冬季脱掉外衣时噼里啪啦的静电响声;远处拖拽来的长...
9月28日午间消息,由吉利控股集团董事长李书福李书福创办的湖北星纪时代科技有限公司(以下简称“星纪时代”)与武汉经济技术开发区签署战略合作协议,正式宣布进军手机领域。该项目总部落户武汉经济技术开发区,官方称定位高端智能手机,整合全球技术和资源,服务全球市场。  武汉经开区工委副书记刘誓保与星纪时代CEO王勇代表双方签约,武汉市委...

史海拾趣

问答坊 | AI 解惑

又看到了一个贴:漫画北电

转载C114家园网友mrpanda的作品 北电的死亡在很多层面上给北电人深深的伤害,北电的逝去也让我们对加拿大渥太华地区今天的科技地位进行思考,几十年前北电、新桥和JDS均将总部设在渥太华,为当地的科技力量注入了不少活力。 加拿大需要几十个 ...…

查看全部问答∨

一位牛人自述学习模拟电路技术的经历

复旦攻读微电子专业模拟芯片设计方 向研究生开始到现在五年工作经验,已经整整八年了,其间聆听过很多国内外专家的指点。 最近,应朋友之 邀,写一点心得体会和大家共享。我记得本科刚毕业时,由于本人打算研究传 感器的,后来阴差阳错进了复旦逸夫 ...…

查看全部问答∨

GPRS模块连接的问题

ARM上有一个gprs利用"gprs模块"与上位机的后台连接。如果后台收到ARM连接的请求就显示出该arm的GPRS模块的IP地址。奇怪的是我的ARM上电后, 后台显示出该GPRS的IP地址117.136. 12. 59, 过了几分钟后后台再次显示一个新的IP地址117.136. 12. ...…

查看全部问答∨

5M sensor 摄像头 的5M是什么意思?如何让wce支持呢?

对sensor一点不懂 但是需要wce支持5M sensor 这是什么意思? 该从哪里开发呢? 谢谢 …

查看全部问答∨

安装EVC后,运行出错

在XP下安装了EVC之后,简单的建立了一个基于对话框的程序,编译没有错误,但是不能运行,弹出的错误提示是:      An application targeting Standard SDK for Windows CE.net and built for the MIPSII_FP CPU cannot be ru ...…

查看全部问答∨

控制板PCB杯具了!

说做就做,今天利用下午的时间,做了这块应急灯控制PCB板子,一共发生两次杯具!第一是在热转印的时候,有点操之过急了,没等板子完全冷下来就开始接纸,结果有一面的线有几根没转印好,不过还有应急措施,用记号笔进行修补,最后做好后还要从新休 ...…

查看全部问答∨

EE_FPGA V1.0 修改建议?

大家对EE_FPGA V1.0可有啥修改建议,欢迎提出! 谢谢您的参与   我将在最近出EE_FPGA V2.0,意见被采纳的将免费获得PCB  1块…

查看全部问答∨

精密 超声波测距

超声波测距做出来后盲区能否为厘米级  最好久几厘米???请教!!!!…

查看全部问答∨

全国电子设计大赛PCB制作封装库(原理图库和封装库),为你的大赛节省时省力!

全国电子设计大赛PCB制作封装库(原理图库和封装库)包含protel ,DXP2004,以及Altium Designer winter 09的,各个库分文件夹存放,便于不同软件库的扩充,使大家的PCB设计制作省时省力  美观规范 [ 本帖最后由 莫妮卡 于 2011-8-22 06: ...…

查看全部问答∨

求助:lpc2132无法进入中断,程序老是死在__enable_interrupt();

求助:lpc2132无法进入中断,程序老是死在__enable_interrupt();不知道是什么原因,已经调试了好几天了…

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

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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