• 大小: 13KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: 其他
  • 标签:

资源简介

ili9341的驱动程序,包含初始化程序和一些简单的应用

资源截图

代码片段和文件信息

#include 
#include “ili_lcd_9341.h“

// Compatible list:
// ili9341

//鍐呰仈鍑芥暟瀹氫箟鐢ㄤ互鎻愰珮鎬ц兘
#ifdef __CC_ARM                  /* ARM Compiler  */
#define lcd_inline    static __inline
#elif defined (__ICCARM__)         /* for IAR Compiler */
#define lcd_inline  inline
#elif defined (__GNUC__)         /* GNU GCC Compiler */
#define lcd_inline  static __inline
#else
#define lcd_inline                  static
#endif

#define rw_data_prepare()               write_cmd(0x2C)

struct rt_device xh_lcd_device;
static unsigned short deviceid = 0;//璁剧疆涓�釜闈欐�鍙橀噺鐢ㄦ潵淇濆瓨LCD鐨処D


void delay_(int a)
{
volatile unsigned int dl;
while(a--)
{
for(dl=0; dl<500; dl++);
}
}


/********* control ***********/
static void LCD_FSMCConfig(void)
{
/* FSMC GPIO configure */
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE  ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_Init(GPIOD &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 ;
GPIO_Init(GPIOE &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode =  GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 |
GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_Init(GPIOD &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |
GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 |
GPIO_Pin_15;
GPIO_Init(GPIOE &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_Init(GPIOD &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_Init(GPIOD &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_Init(GPIOD &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_Init(GPIOD &GPIO_InitStructure);

//rt_hw_us_delay(500);
delay_(500);
GPIO_SetBits(GPIOD GPIO_Pin_13);
//rt_hw_us_delay(500);
delay_(500);
GPIO_SetBits(GPIOE GPIO_Pin_1);
//rt_hw_us_delay(500);
delay_(500);
GPIO_ResetBits(GPIOD GPIO_Pin_3);
//rt_hw_us_delay(500);
delay_(500);
GPIO_SetBits(GPIOD GPIO_Pin_6);
}

{
FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
FSMC_NORSRAMTimingInitTypeDef  Timing_read;
FSMC_NORSRAMTimingInitTypeDef  Timing_write;
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &Timing_read;
FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &Timing_write;
FSMC_NORSRAMStructInit(&FSMC_NORSRAMInitStructure);

Timing_read.FSMC_AddressSetupTime = 0x02;
Timing_read.FSMC_AddressHoldTime  = 0x00;
Timing_read.FSMC_DataSetupTime = 0x05;
Timing_read.FSMC_AccessMode = FSMC_AccessMode_B;

Timing_write.FSMC_AddressSetupTime = 0x02;
Timing_write.FSMC_AddressHoldTime  = 0x00;
Timing_write.FSMC_Dat

评论

共有 条评论

相关资源