775|0

1517

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【小华HC32F448测评】+LCD接口直接驱动MDM2802显示模块 [复制链接]

  本帖最后由 jinglixixi 于 2023-9-9 08:35 编辑

有了前面使用GPIO口驱动MDM2802的基础,这次尝试通过LCD接口来驱动它。

该MDM2802显示模块的引脚连接关系为:

CS : PA4

SCK: PB8

RD : PB9(GND

RST: TCA9539控制

RS : PC13(GND

SDA: PE0

相应的输出高低电平的引脚定义语句为:

#define SET_CLK()      GPIO_SetPins(GPIO_PORT_B, GPIO_PIN_08)   //CLK

#define CLR_CLK()      GPIO_ResetPins(GPIO_PORT_B, GPIO_PIN_08)

#define SET_SDA()      GPIO_SetPins(GPIO_PORT_E, GPIO_PIN_00)   //DIN

#define CLR_SDA()      GPIO_ResetPins(GPIO_PORT_E, GPIO_PIN_00)

#define SET_CS()       GPIO_SetPins(GPIO_PORT_A, GPIO_PIN_04)   //CS

#define CLR_CS()       GPIO_ResetPins(GPIO_PORT_A, GPIO_PIN_04)

#define SET_RD()       GPIO_SetPins(GPIO_PORT_B, GPIO_PIN_09)   //GND

#define CLR_RD()       GPIO_ResetPins(GPIO_PORT_B, GPIO_PIN_09)

#define SET_RS()       GPIO_SetPins(GPIO_PORT_C, GPIO_PIN_13)   //GND

#define CLR_RS()       GPIO_ResetPins(GPIO_PORT_C, GPIO_PIN_13)

对所用引脚的配置函数为:

void Init_TFT(void)
{
    stc_gpio_init_t stcGpioInit;
    (void)GPIO_StructInit(&stcGpioInit);
    stcGpioInit.u16PinState = PIN_STAT_RST;
    stcGpioInit.u16PinDir = PIN_DIR_OUT;
	(void)GPIO_Init(GPIO_PORT_E, GPIO_PIN_00, &stcGpioInit);
  	(void)GPIO_Init(GPIO_PORT_A, GPIO_PIN_04, &stcGpioInit);
    (void)GPIO_Init(GPIO_PORT_B, GPIO_PIN_08, &stcGpioInit);
  	(void)GPIO_Init(GPIO_PORT_B, GPIO_PIN_09, &stcGpioInit);
    (void)GPIO_Init(GPIO_PORT_C, GPIO_PIN_13, &stcGpioInit);
    CLR_RD();
  	CLR_RS();
}

显示满屏图像显示的函数为:

void showimage(void)
{
    int i,j;
    set_cursor(0,0);
	gram_prepare();
    for(j=0;j<320;j++)
    {
          set_cursor(0,j);
          gram_prepare();
	      for(i=0;i<240;i++)
          {                               
              write_data(gImage_hy[(j*240+i)*2]);  
              write_data(gImage_hy[(j*240+i)*2+1]);                                  
          }
    }
}

 

实现测试的主程序为:

int32_t main(void)
{
      LL_PERIPH_WE(LL_PERIPH_GPIO);
	  Init_TFT();
      ili9341_init();
	  ili9341_clear(RED);
  	  showimage_A();
	  DDL_DelayMS(DLY_MS);
      ili9341_clear(RED);
	  LCD_DrawLine(WHITE ,0, 26, 239, 26);
	  LCD_DrawLine(WHITE,0, 296, 239, 296);
	  LCD_DrawRectangle(BLUE,40, 140, 160, 260);
	  Draw_Circle(GREEN,100,200,60);
	  BACK_COLOR=RED;
	  POINT_COLOR=YELLOW;
	  LCD_ShowString(60,10,"MDM-2802 & HC32F448");
	  LCD_ShowString(60,300,"BY: jinglixixi");
      showimage_B();
      while(1);
}

经程序的编译与下载,其测试效果如图1和图2所示。

 

图1 显示图片

 

 

图2 基本测试

 

点赞 关注
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表