没有选择双面打印,还出来双面打印提示,每次复印还都出来一张白纸,怎么回事? 求迅速解答2天内要,谢谢
1147
2022-05-29
练习:
1. 将等待队列、poll函数驱动、异步IO驱动写一次。
2. poll函数支持多路复用: 将按键驱动拆分成4个驱动,在应用层使用一个poll函数同时监控4个按键驱动,并读出按键值。 类似的函数: select、epoll
只要涉及到输入基本都会使用: socket网络编程、鼠标驱动、键盘驱动、触摸屏驱动……..
任务1: 帧缓冲结构(FrameBuffer框架)
帧缓冲--->显卡驱动框架---->LCD屏。
帧缓冲驱动框架图:
帧缓冲框架传输数据方式:
LCD屏控制最重要的函数: 画点函数。形参: (x、y、颜色)
帧缓冲驱动框架里与应用传递数据使用了内存映射: mmap()。
STM32里的屏幕:
1. LCD屏驱动芯片采用NT35310驱动芯片
2. 屏幕的尺寸: 3.5寸
3. 分辨率: 320*480
4. 时序: 8080时序。 常用的时序: 6800时序、RGB时序。
5. 在STM32分为(小、中、大),在大容量里有FSMC控制器。
FSMC控制器: 静态内存控制器,原本是用来控制外部SRAM芯片。
由于部SRAM芯片使用也是8080时序,才可以操作LCD屏。
帧缓冲驱动框架编写框架:
在应用mmap函数将驱动的DMA缓冲区地址映射到进程空间之后,如何控制LCD呢?
需要封装一个画点函数。
任务2: 编写一个帧缓冲驱动(框架)
任务3: 分析开发板自带的LCD驱动(三星公司编写)
三星公司编写文件: s3c_xxxx开头。
当前4412开发板的LCD驱动是使用平台设备编写。
什么是平台设备总线? 是现在内核里编写驱动通用框架。
平台设备分为设备端和驱动端。
练习:
1. 理解一下帧缓冲驱动框架的原理。
2. 编写一个简单的帧缓冲测试框架,编写应用层测试一下。
3. 学习一下基本LCD屏应用编程: 如何封装画点函数、显示一个ASCII码字符串或者中文字符串。
4. 调用中文字库,实现基本中文显示。
5. 显示一张BMP图片。
扩展练习: 小说阅读器。 可以打开一个指定txt文件,将文件里的文本显示在屏幕上,按键翻页。
项目: 数码相框。
1. 打开指定的目录: 存放BMP图片的目录。
2. 通过按键控制LCD屏翻页显示(上一张和下一张)。
3. 在显示屏上显示图片的信息:
LCD帧缓冲框架代码编写:
#include
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。