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) 第三方库函数