韦东山嵌入式第一期学习笔记DAY_19——17_7_LCD简单测试与完整框架梳理

作者:GWD 时间:2019.7.24

一、课程内容
概述:本节课完善了之前的程序bug,并且让显示器显示全屏红、绿、蓝三种颜色。
1、新建lcd_test.c
1、首先lcd_test函数要获得lcd显示器的参数,比如x,y的像素等等。所以要构建一个获得参数的函数,在上一层中。

void get_lcd_params(unsigned int *fb_base,int *xres,int *yres,int *bpp)
{
	*fb_base = g_p_lcd_selected->fb_base;
	*xres = g_p_lcd_selected->xres;
	*yres = g_p_lcd_selected->yres;
	*bpp = g_p_lcd_selected->bpp;

}

2、整屏显示函数
显示原理就是往需要点亮的像素对应的显存地址放入像素值,其余的交给lcd_controller自动完成。

if (bpp == 16)
	{
		/* 让LCD输出整屏的红色 */

		/* 565: 0xf800 */

		p = (unsigned short *)fb_base;
		for (x = 0; x < xres; x++)
			for (y = 0; y < yres; y++)
				*p++ = 0xf800;

		/* green */
		p = (unsigned short *)fb_base;
		for (x = 0; x < xres; x++)
			for (y = 0; y < yres; y++)
				*p++ = 0x7e0;

		/* blue */
		p = (unsigned short *)fb_base;
		for (x = 0; x < xres; x++)
			for (y = 0; y < yres; y++)
				*p++ = 0x1f;
			
	}	

二、学习要点:

1、框架梳理
在这里插入图片描述
2、封装的概念:init、enable、disable函数重复了三次封装,不要怕重复与麻烦,目的是不跃层,完全实现上层对下层的屏蔽。

在这里插入图片描述
3、错误的意思是要包含头文件。
在这里插入图片描述
三、代码中一些小的C知识点梳理
1、枚举变量的定义
在这里插入图片描述
2、注意结构体类型定义时包含其他结构体的思路与定义时各元素间用分号隔开;
在这里插入图片描述
3、controller.h中面向对象的函数结构体
在这里插入图片描述
4、结构体在初始化时,各元素间是“,”隔开
在这里插入图片描述
5、当需要有多个返回值的时候,比如获得参数的时候,要用传址的手法
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值