• 【连载】【黑金动力社区原创力作】《液晶驱动与GUI 基础教程》第一章 从这里开始(二)


    声明:本文为原创作品,版权归本博文作者所有,如需转载,请注明出处http://www.cnblogs.com/kingst/

     

    http://www.heijin.org

    http://www.oshcn.com

    evbase 点击下载。

    https://files.cnblogs.com/xiaomagee/EVBASE.7z

     

    第一章       从这里开始

    一    总则

    本教程使用GuiDriver驱动器、EVTFT 系列模块作为载体。EVTFT模块包含EVTFT36、EVTFT43以及EVGA86三种模块,本章将简单介绍以上模块的硬件构架以及软件开发平台。最后会有个简单的演示范例。

    二    GuiDriver简介

    GuiDriver是专门为EVTFT 系列模块制作的驱动器。模块采用高速的32位处理器STM32F103VCT6,通过 FSMC 总线与EVTFT 接口连接。驱动器资源如下:

    • 72MHz 高速32位 Cortex-M3 内核;
    • 通过 FSMC 接口连接EVTFT 接口;
    • 板载2M字节串行Flash,可以存字库、图片等;
    • 板载5.0V转3.3V输出LDO,可以为EVTFT模块供电;
    • 板载六只按键;
    • 板载LED,可以作为指示用;
    • 板载USB 接口,可以高速传输数据,并可以作为供电输入;
    • UART 接口引出(TTL 接口);
    • SW 调试接口,可以与J-Link、U-Link2等仿真器连接下载与调试。

    各个功能模块的接口电路如图1-1所示。

      图1-2为USB接口电路,USB协议规定,在USB D+或者D-上加上一个1.5k的上拉电阻,用于区别高速、低速设备。图1-3为常用的AMS1117 LDO电路,具有800mA峰值输出能力。

      图1-4为EVTFT / EVGA 接口电路,此接口为2.54mm间距双排插针,共24针。接口包括模块供电(3.3V)、模块地(DCOM)、16位数据线(DB[15:0])、2位地址线(A16、A17)、写使能(WR)、读使能(RD)、片选(CS)以及液晶背光控制引脚(PWM)。

    图1-5为SPI Flash接口电路,使用ST公司的M25P16,总共包含片选(FCS)、主入从出(FMISO)、主出从入(FMOSI)、时钟(FSCK)四根线。图1-6为按键电路,包含6个独立按键。连接于处理器的PC0~PC5端口上。

    三    EVTFT36 / EVTFT43液晶模块

    EVTFT36 / EVTFT43是两款优秀的高分辨率显示模块。广泛用于嵌入式仪器仪表、工业现场智能家居等领域。有使用简单,速度快,显示效果好等诸多优点。模块特征如下:

    • 16:9宽屏, 480×272分辨率;
    • 65536 颜色显示,色彩逼真;
    • 内建驱动器,16位8080高速接口;
    • 高亮白光 LED 背光,亮度PWM 可调;
    • X、Y光标自增,方便高速读写;
    • 可方便与51/DSP/ARM/FPGA连接;
    • 双页帧缓冲,适合较慢的cpu或者视频显示;
    • 多种连接接口(插针或者PFC软线);
    • μcGUI / ZLGGUI等诸多软件库支持。

    四   EVGA86模块

    EVGA86 是一款通用VGA显示驱动器。模块具有速度高、功耗低、易使用等优点,能连接市面上带VGA 接口的显示器。可广泛用于工业终端、医疗电子、仪器仪表等领域。是廉价、高性能的VGA 驱动方案。模块特征如下:

    • 高达 800x600的分辨率;
    • 65536 颜色显示,色彩逼真;
    • X、Y光标自增,方便高速写入;
    • 可方便与51/DSP/ARM/FPGA连接;
    • 多种连接接口(插针或者PFC软线);
    • μcGUI / ZLGGUI等诸多软件库支持。

    五    KEIL MDK-ARM 开发平台

    Keil (An ARM Company) 公司开发的ARM开发工具MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。

    本教程的软件是基于KEIL MDK-ARM 4.12版本,调试器使用J-Link V8。

    首先,从网上下载 EVTFT 驱动包;名字叫做 EVBASE.7z,是个压缩包 。利用开源的 7-ZIP 软件,把它解压到硬盘上(注意,不能有汉字路径,这些软件都歧视中文,切忌)。例如我们把它解压到E盘 EVSOFT 目录里。从网上下载 KEIL MDK 4.12或者更高版本,安装后,打开集成开发环境 Keil uVision4。通过点击Project菜单下的 New uVisiton Project开始建立新工程。如图 1-9所示。

    之后会出现 Create New Project窗口,我们选择路径为刚才解压的路径,即 E 盘EVSOFT 目录里的 EVBASE,在文件名内我们写上我们即将建立的工程名,这里取名字 Minimal,即最小系统的意思。如图1-10所示。

    点击保存,把项目名称保存到硬盘上,然后IDE会弹出CPU 选择窗口,这里我们选择 STMicroelectronics 公司的 STM32F103VC。右侧的窗口中,会有这个cpu的简单资源介绍。如图 1-11 所示。

    按下 OK 后,会弹出一个对话框,如图 1-12所示。

    这个对话框的含义为询问是否拷贝启动代码到当前文件夹,我们选择“是”。

    然后会有一个空工程(只包含启动代码)摆在我们面前;下一步就是建立工程文件夹,用于添加我们的代码,我们在 Project 文件管理栏里,右键点击Target 1,然后选择 Add Group ,如图1-13所示。

    然后键入 main,表示添加 main 代码群。我喜欢这个分类跟硬盘上的代码文件夹一一对应,并且按功能分类,当然您如果不习惯这样,也是可以的。我们一次用同样的方法,添加 Driver,Config等,添加后,如图1-14所示。

    然后我们就把硬盘上的源代码,逐个添加到对应的程序群组中区,方法为鼠标点击到每个群组上,然后按右键,选择 Add File to Group…,添加后的效果如图 1-15所示。这里值得注意的是,Include目录为头文件,可以添加也可以不添加。这个编译的时候会调用的,不需要自己添加,但是有时候为了寻找、修改方便,也可以加进去。不影响使用。

    编译器编译原文件后,会产生很多编译垃圾,如 *.o什么的,我习惯把他们统一放到一个文件夹,这样便于管理,我一般是在项目文件夹内建立 OBJ 文件夹,然后把编译垃圾放进去。

    我们选择 Project,然后选择 Options for Target ‘Target1‘,来进行项目属性管理,这个属性很有用,很多方面都用它,大家要记牢。我们把 output 和 listing 选项里的 Selects Folder …. 都指向项目里的 OBJ 文件夹,这样编译垃圾,都进这里去了。

    我们的程序里面,有一些需要 c99语法的支持,说简单点也就是 1999年发表的一个 c语言标准;感兴趣的同学可以研究研究,这里就不多说了。我们可以再工程属性上面,添加对 C99 的支持,方法如下:打开工程属性,进入 C/C++ 选项,在 misc controls 里添加 --c99 关键字,即可。如图 1-17所示。

    点击“ok“,让设置生效;这样我们的工程就建立完毕了,可以通过编译菜单,来编译一下程序,如果以上步骤没有错误,会有成功提示。

    编译成功后,我们会在下面的 build output 窗口,得到编译的信息,如图1-19所示。

    Build Output窗口会显示目标代码的一些信息,例如代码大小,占用ram空间大小等。图1-19说明的目标文件为 minimal.axf,在obj文件夹内。

    编译好了后,我们怎么才能把程序下载到处理器中呢,这里需要用到J-LINK 调试器。我们从 http://www.segger.com/cms/jlink-software.html 这个网址下载J-LINK 是软件,并安装后,简单设置一下,就可以用 JLINK 下载、调试了。进入工程选项窗口,我们进入 Debug 然后点击 Settings ,进入到Jlink画面,这时如果您的Jlink连接电脑和板子上,Jlink就可以轻而易举的探测到处理器。

    Build Output窗口会显示目标代码的一些信息,例如代码大小,占用ram空间大小等。图1-19说明的目标文件为 minimal.axf,在obj文件夹内。

    编译好了后,我们怎么才能把程序下载到处理器中呢,这里需要用到J-LINK 调试器。我们从 http://www.segger.com/cms/jlink-software.html 这个网址下载J-LINK 是软件,并安装后,简单设置一下,就可以用 JLINK 下载、调试了。进入工程选项窗口,我们进入 Debug选项,选择成 Cortex-M/R J-LINK / J-Trace,如图 1-20所示。

    然后点击 Settings ,进入到Jlink画面,这时如果您的Jlink连接电脑和板子上,Jlink就可以轻而易举的探测到处理器。

      GuiDriver 为了方便,选择了 sw 端口调试;方便快捷,速度一点不差;不过这里我们要手动设置 Port 为 SW,其它不用动,点击 OK 即可。然后选到 Utilities选项,这里设置下载项,我们同样选择 J-link,如图1-22所示,选择后,点击 Settings,进入更具体的设置。

    进入后,我们选择 Add,添加Flash选项,选择如图 1-23所示的选项。然后点击 Add 按钮。然后我们需要把 Reset and run选项勾上,意思是烧完程序后,让它自动运行。如图 1-24。然后就一路 OK,选择后,我们就可以通过菜单或者下载图标,完成程序的下载。

    本例程如果正常下载,会在屏幕上现则彩条(如果 EVGA86,需要修改相应的分辨率)。如图 1-25所示。具体的代码,大家可以参看 main程序。

  • 相关阅读:
    Mysql初始化root密码和允许远程访问
    windows下nodejs express安装及入门网站,视频资料,开源项目介绍
    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
    python3.4学习笔记(二十五) Python 调用mysql redis实例代码
    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法
    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码
    python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
    python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法
    python3.4学习笔记(二十) python strip()函数 去空格 函数的用法
    python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法
  • 原文地址:https://www.cnblogs.com/kingst/p/1825225.html
Copyright © 2020-2023  润新知