自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DreamCatcher100的专栏

每天进步一点点

  • 博客(11)
  • 资源 (5)
  • 收藏
  • 关注

原创 Linux输入子系统

1.input子系统概述输入设备(如键盘,鼠标,跟踪球,操纵杆,触摸屏,加速计和手写板,等)是典型的字符设备,其一般的工作机制是低层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C或者外部存储器总线读取键值,坐标等数据,放一个缓冲区,字符设备驱动管理该缓冲区,而驱动的read()接口让用户可以读取键值,坐标等数据。在Linux中,输入子系统

2013-07-29 22:22:06 599

原创 Linux设备驱动开发基础---字符设备驱动程序开发之mini2440_ADC驱动

一、硬件原理分析S3C2440内部ADC结构图我们从上面的结构图和数据手册可以知道,该ADC模块总共有8个通道可以进行模拟信号的输入,分别是AIN0、AIN1、AIN2、AIN3、 YM、YP、XM、XP。那么ADC是怎么实现模拟信号到数字信号的转换呢?首先模拟信号从任一通道输入,然后设定寄存器中预分频器的值来确定AD转换器频率,最后ADC将模拟信号转换为数字信号保存到ADC数据寄

2013-07-23 19:51:11 1103

原创 PWM控制蜂鸣器驱动

1、PWM定时器概述 PWM ( Pulse Width Modulation ) —— 脉宽调制,它是利用微控制器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量、通信、功率控制与变换等许多领域 。S3C2440A 有5个16位定时器。其中定时器 0、1、2 和3具有脉宽调制(PWM)功能。定时器 4 是一个无输出引脚的内部定时器。定时器0还包含用于大电流驱动的死区

2013-07-20 15:37:50 20001

转载 PWM原理

脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。模拟电路 模拟信号的值可以连续变化,其时间和幅度的分辨率都没有限制。9V电池就是一种模拟器件,因为它的输出电压并不精确地等于9V,而是随时间发生变化,并可取任何实数值。与此类似,从电池吸收的电流也不限定在一组可能的取值范围之内。模拟信号与数字信号的区别

2013-07-20 13:15:09 1995

原创 s3c2440系统时钟

1、FLCK、HCLK和PCLK的关系一般来说,MCU的主时钟源主要是外部晶振或外部时钟,而用的最多的是外部晶振。在正确情况下,系统内所使用的时钟都是外部时钟源经过一定的处理得到的。由于外部时钟源的频率一般不能满足系统所需要的高频条件,所以往往需要PLL(锁相环)进行倍频处理。在s3c2440中,有2个不同的PLL,一个是MPLL,另一个是UPLL。UPLL是给USB提供48MHz。在

2013-07-18 23:21:52 733

原创 Linux设备驱动中的并发控制---信号量

Linux 设备驱动中必须解决的一个问题是多个进程对共享资源的并发访问,并发访问会导致竞态。 1、并发与竞态并发(concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(硬件资源和软件上的全局变量、静态变量等)的访问则很容易导致竞态(race  conditions)。在Linux内核中,主要的竞态发生于如下几种情况:(1)、对称多处理器(S

2013-07-18 17:29:25 802

原创 字符设备驱动程序开发之基于中断的按键驱动加去抖动

中断实现原理分析#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2013-07-13 20:49:01 1029

原创 Linux设备驱动开发基础---字符设备驱动程序开发之基于中断的按键驱动

二、硬件原理分析Mini2440 具有6 个用户测试按键,它们都是连接到CPU 的中断引脚。如图:由原理图可知,这些引脚在按键没有按下的情况下被上拉为高电平,按键被按下的时候变为低电平。三、实现方式1、在/linux-2.6.32.2/drivers/buttons目录下创建一个新的驱动程序文件mini2440_buttons.c,内容及详细注释如下:#include

2013-07-09 22:18:06 1151

原创 Linux内核定时器及内核延时

一、内核定时器内核定时器 (也称为动态定时器)是内核在以后某一个时刻运行一段程序或进程的基础,软件定时器可以在一个确切的时间点上(更严格地说是一个时间点以后)激活相应的程序段或进程。软件定时器在设备驱动程序中被大量应用以检测设备的状态。使用一个软件定时器很简单,只需做一些初始化工作,设置一个相对于当前时刻的超时时间和超时处理函数,将其插入到内核定时器队列中即可,设置的超时处理函数会在定时器

2013-07-09 22:13:38 1067

原创 Linux驱动模块自动创建设备节点

在宋宝华《Linux设备驱动开发详解》中我们能找到如下描述:devfs与udev的另一个显著区别在于:采用devfs,当一个并不存在的/dev节点被打开的时候,devfs能自动加载对应的驱动,而udev则不能。这是因为 udev的设计者认为Linux应该在设备被发现的时候加载驱动模块,而不是当它被访问的时候。udev 完全在用户态工作,利用设备加入或移除时内核所发送的热插拔事件(hotpl

2013-07-09 11:24:06 1445

原创 Linux设备驱动开发基础---Linux内核中断原理

一、Linux中中断原理1、中断的分类在Linux操作系统中,中断的分类是非常复杂的。根据不同的角度,可以将中断分为不同的类型。根据中断的来源,中断可分为内部中断和外部中断,内部中断的中断源来自CPU内部(软件中断指令、溢出、除法错误等,例如,操作系统从用户态切换到内核态需借助CPU内部的软件中断) ,外部中断的中断源来自CPU外部,由外设提出请求。 根据是否可以屏蔽中断分为可屏蔽

2013-07-08 23:44:33 982

Unix环境高级编程 third

Unix环境高级编程 第三版 高清带书签,放在手机随时阅读

2018-08-04

Linux 核心命令速查手册

Linux 核心应用命令速查手册,Linux学习工作必备,高清带书签

2018-08-04

高清带书签C 标准库

C 语言标准库,C 语音进阶必备,需要具备一定的C语言基础

2018-08-04

ucos_II+ucGUI+s3c2410+LCD+触摸屏整合

ucos_II+ucGUI+s3c2410+ucos II 1移植到ARM9 s3c2410 ucGui 390移植到ARM9 s3c2410

2012-04-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除