2018年七月实训笔记-02

7月4日

Q:今天做了些什么?

A:主要做了一下方面的工作

了解开发板LCD屏幕:

本次使用的开发板使32位真彩色lCD电容式触摸屏。

首先解释一下“32位真彩色的问题”:这是指每一个像素点由R,G,B,三个基色分量,在加上代表颜色灰度的A,每个分量的取值范围为0-255,各占据1个字节(--》8bit),故每个像素点用32位二进制位来表示。

记得我高一的时候第一次拥有自己的手机,那台手机也  是“触摸屏”——手机壳底部配有一根细细的笔杆,基本上只能通过用这个笔杆“戳”屏幕,或者用指甲“敲”才能触发屏幕。

显然这和现在的智能机大不相同了。两者区别就在于触摸屏的触发方式问题。前者是“电阻式触摸屏”,后者是“电容式触摸屏”。

复习linux系统调用:

主要复习了关于文件操作的几个系统调用,此外对标准库的文件操作做了区分。

open:根据路径打开文件,返回一个文件描述符,flag参数用于指定打开权限(读写或可读可写等)

write:从buff读取cout个字节,并写入到fd中,(有关写入位置应该和lseek的有关联),返回实际写入的字节数

read:尝试从文件读取cout个字节,并写入buff中,返回实际读取出的位置

lseek:用于设置文件指针的位置,offset是相对于whence偏移量,whence可取当前位置,开始位置,和结束位置

close:关闭文件描述符,使其可以重新用于打开别的文件。

标准库的文件操作fopen,fwrite,fread,fclose是标准库函数,具有缓冲区,不是在内核态执行。

编程规范:

1,代码的缩进,换行,空格等。

2,命名风格,如驼峰命名法、匈牙利命名法、帕斯卡命名法和下划线命名法。

3,注释的风格,何时写注释(要求只写功能,不要写原理)

学习图像格式:

   jpg,png 压缩图像格式:

   bmp 无压缩的图像格式:

  

Q:今天遇到了什么问题?

A:

1.开发板无法连接到超级终端。后来经过多次测试发现配置没有问题,原因是串口线损坏—mmm浪费了我好久时间。

2.尝试向屏幕输入蓝屏时无效。我试图在虚拟机上的ubutun系统运行一个对 /dev/fb0 文件写入蓝色像素值(0xff000000)的程序,预期效果是实现屏幕全蓝。

但实际上该程序并不能在虚拟机上运行(在开发板上可以)。

3.定义像素点应该如何定义?

虽然知道像素点是一个32位的数据,但并没有弄清楚R,G,B,A分别由那几位构成。因此做了几次测试,得出:

32位数据是按照

Q:今天有什么收获?

A:

有关man命令:

man  手册    命令/函数调用

该命令中,手册可取1,2,3,分别代表三本手册,

1   Executable programs or shell commands 命令手册

2   System calls (functions provided by the kernel) 系统调用函数手册

3   Library calls (functions within program libraries) 第三方库函数

 

 

 

你可能感兴趣的:(嵌入式实训)