Nios - TFT-LCD(ILI9320控制器)

  在Nios下驱动9320的TFT屏,具体的讲解参见:http://www.cnblogs.com/yuphone/category/276816.html

    Nios - TFT-LCD(ILI9320控制器)

  在 main.c 中只是程序的调用,不会做其他的事。

    Nios - TFT-LCD(ILI9320控制器)

  在 ili932x.c 里包含了一些最重要的函数,比如 ili_WrData(u16 ch), ili_WrCmd(u16 ch),  ili_WrReg(u16 address,u16 data)...这些都是程序的基石。

  
    
1 // Write Data
2 void ili_WrData(u16 ch)
3 {
4 ili_RS = 1 ; // data
5 ili_nCS = 0 ;
6 ili_nRD = 1 ;
7 ili_DB -> DATA = ch;
8 ili_nWR = 0 ;
9 // ili_DelayMs(10);
10 ili_nWR = 1 ;
11 ili_nCS = 1 ;
12 }
13
14 //
15 void ili_WrCmd(u16 ch)
16 {
17 ili_RS = 0 ; // commad
18 ili_nCS = 0 ;
19 ili_nRD = 1 ;
20 ili_DB -> DATA = ch;
21 ili_nWR = 0 ;
22 // ili_DelayMs(10);
23 ili_nWR = 1 ;
24 ili_nCS = 1 ;
25 }
26
27 //
28 void ili_WrReg(u16 address,u16 data)
29 {
30 ili_WrCmd(address);
31 ili_WrData(data);
32 }
33
34 // 延时ms
35 void ili_DelayMs(u32 n)
36 {
37 usleep(n * 1000 );
38 }
39
40 // ILI93525初始化
41 void ili_Initial( void )
42 {
43 // 硬件复位
44 ili_nRST = 1 ;
45 ili_DelayMs( 10 );
46 ili_nRST = 0 ;
47 ili_DelayMs( 10 );
48 ili_nRST = 1 ;
49 ili_DelayMs( 100 );
50
51 //
52 ili_WrReg( 0x00 , 0x0000 );
53 ili_WrReg( 0x07 , 0x0001 ); // Display Control 1
54 ili_WrReg( 0x08 , 0x0405 ); // Display Control 2 0808
55 ili_WrReg( 0x30 , 0x0707 );
56 ili_WrReg( 0x31 , 0x0407 );
57 ili_WrReg( 0x32 , 0x0203 );
58 ili_WrReg( 0x33 , 0x0303 );
59 ili_WrReg( 0x34 , 0x0303 );
60 ili_WrReg( 0x35 , 0x0202 );

  在 ili932x.h 文件中包含了 ili932x.c 中要用到的一些宏定义和函数声明,ili932x.h 和 ili932x.c 是紧密联系的。

    Nios - TFT-LCD(ILI9320控制器)

  在 my_types.h 中都是用 typedef 定义的一些数据类型,以便在写程序时方便使用。

    

  在 my_regs.h 中把各个模块要用的引脚和 system.h 文件中生成的引脚地址联系起来,以便操作。用的最多的就是强制类型转换。

    Nios - TFT-LCD(ILI9320控制器)

你可能感兴趣的:(ios)