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

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

目标: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 proxy
class 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.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值