用GPIO口驱动与显示LCD屏幕——mini2440

来源:互联网 发布:ug编程好学吗 编辑:程序博客网 时间:2024/05/29 18:19

———————————————————————————————————————————

目标:LCD屏幕的驱动和显示。

了解GPIO的控制方法,并独立编写一个简单的菜单测试程序(包括彩色汉字和静态图画的显示)

————————————————————————————————————————-———

一、术语问答

1.什么是GPIO口?mini2440中有哪些相关的资源?

答:

2.2416/2440关于GPIO口的芯片资料(data sheet 解读)

二、源码解析

1.sys/ioctl.h

2.IOR,IOW

3.看出代码的架构,意思出来。

4.#include <afxext.h>的作用

答:

定义MFC一些扩展的东西,定义的类包括:// Classes declared in this file//CObject //CCmdTarget;  //CWnd   //CButton    class CBitmapButton;    // Bitmap button (self-draw)   class CControlBar;          // control bar    class CStatusBar;       // status bar    class CToolBar;         // toolbar    class CDialogBar;       // dialog as control bar    class CReBar;           // ie40 dock bar   class CSplitterWnd;         // splitter manager   //CView    //CScrollView    class CFormView;        // view with a dialog template    class CEditView;        // simple text editor view //CDC  class CMetaFileDC;              // a metafile with proxyclass CRectTracker;                     // tracker for rectangle objects


5.extern变量用法

extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
另外,extern也可用来进行链接指定。

三、LCD驱动解析

1. mmap((void*)target,length,PROT_READ|PROT_WRITE,MAP_SHARED,fd,target)            //参数祥解?尤其是target

2.volatile BYTE *lcdcmdadr        //什么意思?
3.
void Xadd(char startx,char endx){    LCDCOM_MASTER(0x2A);             //搞明白这些地址的含义    LCDDATA_MASTER(startx);    LCDDATA_MASTER(endx);}
4.
 //映射用户空间内存地址到内核空间的内存地址    lcdcmdadr=(BYTE *)mapDirectIoRegister(LCD_COMMAND,MAP_SIZE);
5.
    LCD_RST_LOW;usleep(100000);LCD_RST_HIG;usleep(100000);         //模拟一个方波    LCD_ON;
6.



原创粉丝点击