特别注意:本函数使用了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按键输入实验代码(01)
下一篇:STM32f4---TFTLCD显示实验代码(05)
推荐阅读
史海拾趣
作为CUI Devices的重要组成部分,其电机品牌在近年来取得了显著的进步。公司的产品线涵盖了电位器、旋转编码器、步进电机、步进伺服电机和伺服电机等多个领域。通过不断的技术创新和市场拓展,CUI Devices的电机产品已经在全球范围内赢得了广泛的声誉和市场份额。
随着技术的不断进步和产品的日益成熟,Aces开始将目光投向国际市场。公司积极参与国际电子展会和技术交流,与多家国际知名企业建立了合作关系。通过引进国外先进的技术和管理经验,Aces不断提升自身竞争力,逐渐在国际市场上占据了一席之地。同时,公司还积极拓展海外市场,将产品销往全球多个国家和地区。
韩国三星电子(Samsung Electronics)在CMOS技术方面也取得了显著成就。作为一家综合性电子企业,三星电子在CMOS技术研发方面投入了大量资金和人力资源。通过不断的技术创新和生产优化,三星电子成功推出了多款高性能、低功耗的CMOS芯片产品,广泛应用于智能手机、平板电脑等电子产品中。这些产品以其卓越的性能和出色的品质赢得了市场的广泛认可,使三星电子在全球半导体市场上占据了一席之地。
英特尔(Intel)作为半导体行业的领军企业,早在上世纪70年代就开始了对CMOS技术的研究。随着技术的不断成熟,英特尔成功地将CMOS技术应用于其处理器产品中,极大地提高了产品的性能和可靠性。英特尔的CMOS处理器因其卓越的性能和出色的功耗控制而广受好评,为公司赢得了大量市场份额。此后,英特尔不断投入巨资进行CMOS技术的研发和创新,使其在全球半导体市场上保持领先地位。
面对电子行业的快速变革和市场竞争的加剧,Anderson Electronics Inc公司积极进行产业升级和智能制造的转型。公司引进了先进的生产设备和技术,实现了生产过程的自动化和智能化。同时,公司还加大了对研发人员的培养和引进力度,建立了一支高素质的研发团队。通过产业升级和智能制造的转型,公司成功提升了生产效率和产品质量,进一步巩固了市场地位。
在电子元件领域,Frolyt Condensers & Elements GmbH起初是一家专注于电容器研发的小型制造商。2005年,公司研发团队成功开发出一种新型高性能铝电解电容器,该电容器在耐高温、长寿命和低阻抗方面表现出色,迅速吸引了市场的关注。通过持续的技术创新和严格的品质控制,Frolyt的电容器产品在汽车电子、通信设备等多个领域得到广泛应用,公司因此实现了市场份额的快速增长。
转载C114家园网友mrpanda的作品 北电的死亡在很多层面上给北电人深深的伤害,北电的逝去也让我们对加拿大渥太华地区今天的科技地位进行思考,几十年前北电、新桥和JDS均将总部设在渥太华,为当地的科技力量注入了不少活力。 加拿大需要几十个 ...… 查看全部问答∨ |
复旦攻读微电子专业模拟芯片设计方 向研究生开始到现在五年工作经验,已经整整八年了,其间聆听过很多国内外专家的指点。 最近,应朋友之 邀,写一点心得体会和大家共享。我记得本科刚毕业时,由于本人打算研究传 感器的,后来阴差阳错进了复旦逸夫 ...… 查看全部问答∨ |
ARM上有一个gprs利用"gprs模块"与上位机的后台连接。如果后台收到ARM连接的请求就显示出该arm的GPRS模块的IP地址。奇怪的是我的ARM上电后, 后台显示出该GPRS的IP地址117.136. 12. 59, 过了几分钟后后台再次显示一个新的IP地址117.136. 12. ...… 查看全部问答∨ |
|
在XP下安装了EVC之后,简单的建立了一个基于对话框的程序,编译没有错误,但是不能运行,弹出的错误提示是: An application targeting Standard SDK for Windows CE.net and built for the MIPSII_FP CPU cannot be ru ...… 查看全部问答∨ |
说做就做,今天利用下午的时间,做了这块应急灯控制PCB板子,一共发生两次杯具!第一是在热转印的时候,有点操之过急了,没等板子完全冷下来就开始接纸,结果有一面的线有几根没转印好,不过还有应急措施,用记号笔进行修补,最后做好后还要从新休 ...… 查看全部问答∨ |
大家对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();不知道是什么原因,已经调试了好几天了… 查看全部问答∨ |