138 lines
5.1 KiB
Markdown
138 lines
5.1 KiB
Markdown
打开文件
|
||
操作文件
|
||
关闭文件
|
||
|
||
使用man查看函数头
|
||
描述符来完成对文件的操作
|
||
通过open和close打开和关闭文件
|
||
|
||
|
||
在开发版上显示红色
|
||
arm-linux-gcc
|
||
|
||
在开发版上绘制矩形和圆形
|
||
|
||
input
|
||
讲输入发生的结构体
|
||
time type
|
||
|
||
|
||
获取触摸屏坐标
|
||
打开触摸屏,读取数据,定义envent结构体,
|
||
|
||
新创建project文件夹,放封装的代码
|
||
|
||
在touch.c /.h完成封装并且完成以下函数
|
||
获取滑动方向,上返回1,下2,左返回3,右返回4
|
||
|
||
int get_touch_dir
|
||
|
||
|
||
读取bmp文件
|
||
24位,32位,三字街和四字街的区别
|
||
bmp文件的格式
|
||
获取宽度、高度,四字节
|
||
色深:从0x1c开始的两个字街,决定上述电字节数
|
||
|
||
调色板可有可无
|
||
像素数组
|
||
获取像素数组
|
||
每行像素必须是四的整数倍数
|
||
求字节数
|
||
申请一块像素数组空间:malloc
|
||
大小端存储
|
||
小端模式
|
||
定义四个颜色分量值
|
||
分析bmp的坐标关系
|
||
|
||
|
||
在开发版上显示一张图片,生成一张bmp图片(画图打开bmp)
|
||
|
||
show某个位置起始坐标左上角
|
||
打开bmp文件
|
||
解析bmp
|
||
旋转特效
|
||
|
||
在lcd上进行字符的显示
|
||
取字模
|
||
横向取模
|
||
c51格式
|
||
|
||
|
||
xy,字符宽度,字符高度,字符取模数组,字符颜色
|
||
判断当前比特是否为1
|
||
|
||
模块使用
|
||
|
||
在字符基础上进行修改,显示数字
|
||
每一位都单独取出
|
||
再进行显示
|
||
sprintf输出数字映射到数组里面,通过映射来解析数组内容
|
||
|
||
insmod 加载beep驱动
|
||
|
||
sys/kernal查看
|
||
fd打开
|
||
写1写0
|
||
关闭设备
|
||
封装一个函数控制led和蜂鸣器
|
||
|
||
发射五个字街,前0xa1
|
||
第二个字节0xf1(发射状态)
|
||
三字节用户码+命令码
|
||
手机红外遥控发和解析
|
||
发送之后,读取判断是否发送成功
|
||
接受数据:
|
||
|
||
代码实现:
|
||
|
||
创建一个文件用来接受收到的指令
|
||
只接受三个字节
|
||
|
||
从命令文件中读取三个发送
|
||
buff保存需要发送的命令字节(用户码+命令码)
|
||
|
||
|
||
解析一个红外信号
|
||
在主函数里面
|
||
初始化lcd
|
||
在循环里面调用学习模式,把数据存储进来,发送模式把数据发送到另外一个模块上
|
||
|
||
学习模式发送到字节为:0xa1 0x
|
||
|
||
|
||
|
||
项目要求:
|
||
在文件夹mini_desktop中新建项目,可以把原来test里面的device.c/.h和依赖复制过来,成为独立的项目
|
||
能够设计一个桌面,桌面上有两个功能
|
||
1.可以滑动的电子相册,显示图片,滑动切换图片,存储多张照片(字符串数组存储路径设置
|
||
pathname:)
|
||
图片位置在/Users/chenyouyuan/cyy_ws/mac_share/mini_desktop/images
|
||
图标和桌面背景的路径在/Users/chenyouyuan/cyy_ws/mac_share/mini_desktop/icon
|
||
|
||
2.红外功能:
|
||
可以参考/Users/chenyouyuan/cyy_ws/mac_share/gec6818_docker_test/ir_control
|
||
一个是发射功能,一个是接收功能,一个是学习功能
|
||
按下发射功能时,进入到发射页面,通过按下对应的按钮(多个发送功能按钮,可以发射不同的指令,默认四个功能:上下左右四个按键),可以发射固定的红外指令
|
||
学习功能时,跳转到学习页面,可以选择学习发送还是接收,并且选择之后可以选择对应的四个功能,按下开始屏幕上学习的按钮可以跟具别人发送过来的指令进行解析学习并存储,之后的发送都参考刚刚学习到的功能,可以做一个列表对应查找,已经学习到的功能可以标注一个绿色的点,并且可以在显示出学习到的命令内容(三字节)
|
||
接收功能,除了在学习到时候默认开启接收,并且点击接收功能之后,进入到接收页面,右边是屏幕打印出来接收到的调试数据,同样的左侧显示四个接收到指令,点那个收到对应的指令后闪烁(绿色)一下(与发送的不一定相同,建议分开存储,解析功能一和二接收到后进行左右翻页,功能三和四是控制板子上的led灯开关/每次收到命令蜂鸣器在500ms内滴滴两次
|
||
|
||
按钮设计:
|
||
get _bottom()当到达某一个范围时候触发,判断触摸的坐标
|
||
注意屏幕坐标范围和lcd显示的范围,可以加一个按钮初始化,给出按钮中心坐标和范围即可初始化按钮,默认的按钮都是方形的白色为底色,黑色为文字
|
||
|
||
|
||
|
||
分步测试(注意以上功能应当均可以在/Users/chenyouyuan/cyy_ws/mac_share/gec6818_docker_test中找到,除了按钮的功能没有实现),但是要求在mini_desktop中新建独立的测试文件夹test:
|
||
测试图片显示功能(轮播形式)
|
||
测试左右滑动功能和触摸屏按钮的功能
|
||
结合图片测试桌面和点击图标跳转,相册滑动功能
|
||
测试点击桌面红外图标进入红外的各种ui显示功能
|
||
测试红外功能
|
||
综合联调形成桌面+相册+红外功能
|
||
|
||
黄炫齐:制作相册app可以滑动的电子相册,显示图片,滑动切换图片,存储多张照片(字符串数组存储路径
|
||
|
||
肖宇轩:按钮设计:
|
||
get _bottom()当到达某一个范围时候触发,判断触摸的坐标
|
||
注意屏幕坐标范围和lcd显示的范围,可以加一个按钮初始化,给出按钮中心坐标和范围即可初始化按钮,默认的按钮都是方形的白色为底色,黑色为文字 |