2019年9月2日

005触摸屏驱动程序

摘要: 一、 触摸屏驱动程序之概念介绍(第十六课/第一节) 内核会带有(s3c2410_ts.c)触摸屏的驱动程序(平台驱动),大概浏览,然后仿造 注册一个平台驱动 若内核里面有同名的平台设备驱动程序的时候,probe函数就会被调用 分配一个input_dev结构体 设置它 注册 当有事情发生时会上报事件 阅读全文

posted @ 2019-09-02 16:31 wawzzll 阅读(474) 评论(0) 推荐(0) 编辑

004LCD驱动

摘要: 一、 LCD驱动程序之层次分析(第十五课/第一节) 字符设备驱动程序 分析(fbmem.c),这是内核里面自带的LCD驱动程序 先从入口函数开始 注册的结构体内容 这里的fbmem.c没有创建设备结点,只有真正的硬件设备才会到这个类下面创建设备结点。在(register_framebuffer)中可 阅读全文

posted @ 2019-09-02 16:15 wawzzll 阅读(378) 评论(0) 推荐(0) 编辑

003分层分离驱动

摘要: 驱动程序分层分离概念_总线驱动设备模型(第十四课) 一、 分层分离概念 分离:把硬件相关的东西抽取出来;把相对稳定的软件部分抽取出来。 分层:左右两边分别向上注册自己的东西,input.c向上提供统一给app操作的接口。每一层都专注与自己的事情。 二、 总线驱动设备模型 在(gpio_keys.c) 阅读全文

posted @ 2019-09-02 16:00 wawzzll 阅读(223) 评论(0) 推荐(0) 编辑

002输入子系统驱动

摘要: 输入子系统概念介绍(第十三课/第一节) 回顾第三个驱动程序(中断方式的按键驱动程序)和测试程序,发现有一些缺点: 这个驱动程序没办法用在别人写的现成的应用程序上(比如:QT),因为别人写的应用程序肯定不会来打开你这个"/dev/third_chrdev"。别人打开的是一些现成的设备(比如:/dev/ 阅读全文

posted @ 2019-09-02 15:55 wawzzll 阅读(205) 评论(0) 推荐(0) 编辑

001字符设备驱动(定时器防抖)

摘要: 使用定时器实现按键防抖(第十二课/第八节) 在执行以阻塞方式读取按键值的时候会有多个中断的出现 原因:因为按键是一个机械开关,按下松开的时候里面的金属弹片可能抖动了好几次,由于是边沿触发,导致多次中断的发生。 解决方法:定时器消抖 设计思路: 每产生一次IRQ中断就修改这个定时器的超时时间,直到产生 阅读全文

posted @ 2019-09-02 15:42 wawzzll 阅读(68) 评论(0) 推荐(0) 编辑

字符设备驱动三

摘要: 七、 字符设备驱动程序之poll机制(第九课) 对于系统的调用,基本都可以在它的名字前加上 "sys_" 前缀,这就是内核中对应的函数。比如系统调用 open、read、write、poll,与之对应的内核函数为:sys_open、sys_read、sys_write、sys_poll sys_po 阅读全文

posted @ 2019-09-02 15:41 wawzzll 阅读(126) 评论(0) 推荐(0) 编辑

字符设备驱动二

摘要: 三、 字符设备驱动程序之查询方式的按键驱动程序(第五节课) 程序框架 按键驱动程序(second_chrdev.c) #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/i 阅读全文

posted @ 2019-09-02 15:32 wawzzll 阅读(145) 评论(0) 推荐(0) 编辑

字符设备驱动一

摘要: 一、 字符设备驱动之概念介绍 1、 应用程序、库、内核、驱动程序的关系 如下图,一个软件系统可以分为:应用程序、库、操作系统(内核)、驱动程序。 以点亮LED为例: 实际上,内核和驱动程序之间并没有界限,因为驱动程序最终是要编进内核去的。 2、 Linux 驱动程序的分类和开发步骤 A、 Linux 阅读全文

posted @ 2019-09-02 15:22 wawzzll 阅读(378) 评论(0) 推荐(0) 编辑

git基本操作

摘要: git基本操作 分析图: commit:commit id Author:作者 Date:提交日期 若觉得打印日志信息过多,简化: 格式:git log --pretty=oneline 回退版本: 如果进行版本回退之后,发现最新commit id没有了,可以使用git reflog 如图: 撤销工 阅读全文

posted @ 2019-09-02 15:01 wawzzll 阅读(95) 评论(0) 推荐(0) 编辑

Python面试题

摘要: 一、 python 面试题 A、 静态方法和类方法 解释: 补全程序 B、 修改字符串 解决方案 二、 Python 面试题 A、 填空题 三、 Python 面试题 解答: 如何查找任意模块的文件位置 <wiz_tmp_tag id="wiz-table-range-border" content 阅读全文

posted @ 2019-09-02 14:56 wawzzll 阅读(343) 评论(0) 推荐(0) 编辑

面向对象

摘要: 面向对象1 面向过程:根据业务逻辑从上到下写代码(每一步都自己去实现) 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程(不用具体到每一步,会调用就行。面向对象是基于面向过程的) 面向对象有三种特性:1.封装 2.继承 3.多态 C语言和C++语言都是编 阅读全文

posted @ 2019-09-02 14:38 wawzzll 阅读(199) 评论(0) 推荐(0) 编辑

文件操作

摘要: 文件操作 一、 打开文件 二、 关闭文件 三、 写数据(write) 注意:如果该文件不存在则创建一个新文件,若果存在就先清空然后在写入数据 四、 读数据 A、读数据(read) 注意:如果读了多次,那么后面读取的数据是从上次读完后的位置开始的 B、 读数据(readlines) test.txt 阅读全文

posted @ 2019-09-02 14:29 wawzzll 阅读(187) 评论(0) 推荐(0) 编辑

函数

摘要: 函数 一、 函数的定义 二、 函数的调用 三、 函数的文档说明 如果执行以下代码 能够看到 test函数 的相关说明信息 四、 函数参数 A、 正常参数 B、 缺省参数 注意:带有默认值的参数一定要位于参数列表的最后面,否则会报错 C、 不定长参数 加了星号 (*) 的变量 args 会存放所有未命 阅读全文

posted @ 2019-09-02 14:20 wawzzll 阅读(151) 评论(0) 推荐(0) 编辑

python基础篇三

摘要: python基础篇二 一、 列表 1、 列表的格式 注意:与C语言数组相比,强大的地方在于列表中的元素可以是不同类型的 2、 列表的循环遍历 例:花名册练习,查找花名册里是否有输入的名字 3、列表的相关操作("增"、"删"、"改"、"查") 字符串:names = ["xiaohong", "xia 阅读全文

posted @ 2019-09-02 14:16 wawzzll 阅读(183) 评论(0) 推荐(0) 编辑

python基础篇二

摘要: python基础篇二 字符串常见操作 如有字符串 mystr = 'hello world luosir and luosircpp' , 以下是常见的操作 一、 find 和 rfind 作用:检测 str 是否包含在 mystr中,如果是返回下标值,否则返回-1 作用:类似于 find() 函数 阅读全文

posted @ 2019-09-02 14:09 wawzzll 阅读(175) 评论(0) 推荐(0) 编辑

python基础篇一

摘要: python基础篇一 一、编写python的方式(有三种) 二、注释 以#开头,右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用。 (''') 以三个连续的单引号开头,以三个连续的单引号结尾 ('''),在引号中间的文字全部起到辅助说明的作用。 三、变量 四、标识符和关键字 标识符由字 阅读全文

posted @ 2019-09-02 14:02 wawzzll 阅读(251) 评论(0) 推荐(0) 编辑

导航