野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13779|回复: 0

按照视频教程写的代码,用串口调试助手测试

[复制链接]
发表于 2020-5-28 16:21:10 | 显示全部楼层 |阅读模式

没有加ILI9341寄存器初始化时,调试助手返回值是0x06,加了初始化还是0x06,以下带寄存器初始化,为什么不返回0x05
void ILI9341_BackLed_Control ( FunctionalState enumState )
{
        if ( enumState )
                GPIO_ResetBits ( ILI9341_BK_PORT, ILI9341_BK_PIN );       
        else
                GPIO_SetBits ( ILI9341_BK_PORT, ILI9341_BK_PIN );
               
__inline void ILI9341_Write_Cmd ( uint16_t usCmd )
{
        *ILI9341_CMD_ADDR= usCmd;
       
}

__inline void ILI9341_Write_Data ( uint16_t usData )
{
        *ILI9341_DATA_ADDR= usData;
       
}

__inline uint16_t ILI9341_Read_Data ( void )
{
        return ( *ILI9341_DATA_ADDR );
       
}       
uint16_t Read_Pixel_Format(void)
{
  ILI9341_Write_Cmd(0x0c);
        ILI9341_Read_Data ();
       
        return ILI9341_Read_Data();
       
}


static void ILI9341_Delay ( __IO uint32_t nCount )
{
  for ( ; nCount != 0; nCount -- );
       
}

void ILI9341_Rst ( void )
{                       
        GPIO_ResetBits ( ILI9341_RST_PORT, ILI9341_RST_PIN );         //µÍµçƽ¸´Î»

        ILI9341_Delay ( 0xAFF );                                           

        GPIO_SetBits ( ILI9341_RST_PORT, ILI9341_RST_PIN );                          

        ILI9341_Delay ( 0xAFF );        
       
}

static void ILI9341_REG_Config ( void )
{
        /*  Power control B (CFh)  */
        DEBUG_DELAY  ();
        ILI9341_Write_Cmd ( 0xCF  );
        ILI9341_Write_Data ( 0x00  );
        ILI9341_Write_Data ( 0x81  );
        ILI9341_Write_Data ( 0x30  );
       
        /*  Power on sequence control (EDh) */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0xED );
        ILI9341_Write_Data ( 0x64 );
        ILI9341_Write_Data ( 0x03 );
        ILI9341_Write_Data ( 0x12 );
        ILI9341_Write_Data ( 0x81 );
       
        /*  Driver timing control A (E8h) */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0xE8 );
        ILI9341_Write_Data ( 0x85 );
        ILI9341_Write_Data ( 0x10 );
        ILI9341_Write_Data ( 0x78 );
       
        /*  Power control A (CBh) */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0xCB );
        ILI9341_Write_Data ( 0x39 );
        ILI9341_Write_Data ( 0x2C );
        ILI9341_Write_Data ( 0x00 );
        ILI9341_Write_Data ( 0x34 );
        ILI9341_Write_Data ( 0x02 );
       
        /* Pump ratio control (F7h) */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0xF7 );
        ILI9341_Write_Data ( 0x20 );
       
        /* Driver timing control B */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0xEA );
        ILI9341_Write_Data ( 0x00 );
        ILI9341_Write_Data ( 0x00 );
       
        /* Frame Rate Control (In Normal Mode/Full Colors) (B1h) */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0xB1 );
        ILI9341_Write_Data ( 0x00 );
        ILI9341_Write_Data ( 0x1B );
       
        /*  Display Function Control (B6h) */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0xB6 );
        ILI9341_Write_Data ( 0x0A );
        ILI9341_Write_Data ( 0xA2 );
       
        /* Power Control 1 (C0h) */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0xC0 );
        ILI9341_Write_Data ( 0x35 );
       
        /* Power Control 2 (C1h) */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0xC1 );
        ILI9341_Write_Data ( 0x11 );
       
        /* VCOM Control 1 (C5h) */
        ILI9341_Write_Cmd ( 0xC5 );
        ILI9341_Write_Data ( 0x45 );
        ILI9341_Write_Data ( 0x45 );
       
        /*  VCOM Control 2 (C7h)  */
        ILI9341_Write_Cmd ( 0xC7 );
        ILI9341_Write_Data ( 0xA2 );
       
        /* Enable 3G (F2h) */
        ILI9341_Write_Cmd ( 0xF2 );
        ILI9341_Write_Data ( 0x00 );
       
        /* Gamma Set (26h) */
        ILI9341_Write_Cmd ( 0x26 );
        ILI9341_Write_Data ( 0x01 );
        DEBUG_DELAY ();
       
        /* Positive Gamma Correction */
        ILI9341_Write_Cmd ( 0xE0 ); //Set Gamma
        ILI9341_Write_Data ( 0x0F );
        ILI9341_Write_Data ( 0x26 );
        ILI9341_Write_Data ( 0x24 );
        ILI9341_Write_Data ( 0x0B );
        ILI9341_Write_Data ( 0x0E );
        ILI9341_Write_Data ( 0x09 );
        ILI9341_Write_Data ( 0x54 );
        ILI9341_Write_Data ( 0xA8 );
        ILI9341_Write_Data ( 0x46 );
        ILI9341_Write_Data ( 0x0C );
        ILI9341_Write_Data ( 0x17 );
        ILI9341_Write_Data ( 0x09 );
        ILI9341_Write_Data ( 0x0F );
        ILI9341_Write_Data ( 0x07 );
        ILI9341_Write_Data ( 0x00 );
       
        /* Negative Gamma Correction (E1h) */
        ILI9341_Write_Cmd ( 0XE1 ); //Set Gamma
        ILI9341_Write_Data ( 0x00 );
        ILI9341_Write_Data ( 0x19 );
        ILI9341_Write_Data ( 0x1B );
        ILI9341_Write_Data ( 0x04 );
        ILI9341_Write_Data ( 0x10 );
        ILI9341_Write_Data ( 0x07 );
        ILI9341_Write_Data ( 0x2A );
        ILI9341_Write_Data ( 0x47 );
        ILI9341_Write_Data ( 0x39 );
        ILI9341_Write_Data ( 0x03 );
        ILI9341_Write_Data ( 0x06 );
        ILI9341_Write_Data ( 0x06 );
        ILI9341_Write_Data ( 0x30 );
        ILI9341_Write_Data ( 0x38 );
        ILI9341_Write_Data ( 0x0F );
       
        /* memory access control set */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0x36 );        
        ILI9341_Write_Data ( 0xC8 );   
        DEBUG_DELAY ();
       
        /* column address control set */
        ILI9341_Write_Cmd ( CMD_SetCoordinateX );
        ILI9341_Write_Data ( 0x00 );
        ILI9341_Write_Data ( 0x00 );
        ILI9341_Write_Data ( 0x00 );
        ILI9341_Write_Data ( 0xEF );
       
        /* page address control set */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( CMD_SetCoordinateY );
        ILI9341_Write_Data ( 0x00 );
        ILI9341_Write_Data ( 0x00 );
        ILI9341_Write_Data ( 0x01 );
        ILI9341_Write_Data ( 0x3F );
       
        /*  Pixel Format Set (3Ah)  */
        DEBUG_DELAY ();
        ILI9341_Write_Cmd ( 0x3a );
        ILI9341_Write_Data ( 0x55 );
       
        /* Sleep Out (11h)  */
        ILI9341_Write_Cmd ( 0x11 );       
        ILI9341_Delay ( 0xAFFf<<2 );
        DEBUG_DELAY ();
       
        /* Display ON (29h) */
        ILI9341_Write_Cmd ( 0x29 );
       
       
}


void ILI9341_Init(void)
{
        ILI9341_GPIO_Config();
        ILI9341_FSMC_Config();
       
        ILI9341_BackLed_Control(ENABLE);
        ILI9341_Rst();
  ILI9341_REG_Config();
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-25 08:23 , Processed in 0.063732 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表