设备驱动
文章平均质量分 86
邓任公
这个作者很懒,什么都没留下…
展开
-
SD卡初始化以及命令详解
SD卡是嵌入式设备中很常用的一种存储设备,体积小,容量大,通讯简单,电路简单所以受到很多设备厂商的欢迎,主要用来记录设备运行过程中的各种信息,以及程序的各种配置信息,很是方便,有这样几点是需要知道的SD 卡是基于 flash的存储卡。SD 卡和 MMC卡的区别在于初始化过程不同。SD卡并不是我们通常意义上的手机扩展卡,那种卡叫做TF卡,但是通讯以及驱动模式是类似的.SD 卡原创 2014-10-06 20:50:11 · 9148 阅读 · 0 评论 -
S3C2440看门狗解析
S3C2440A的看门狗定时器是用于当其由于噪声和系统错误引起的故障干扰时恢复控制器的工作。它可以被用作普通16位内部定时器来请求中断服务。看门狗定时器产生128个PCLK周期的复位信号也就是说,在某些环境下,看门狗可以当做定时器使用,当他中断的时候并不发生复位,只发生中断,我看看图 看门狗的中断和复位信号是可以依靠wtcon来切断的(看门狗的时钟是无法切断的) 使用看门狗主要原创 2014-10-10 21:57:47 · 927 阅读 · 0 评论 -
STM32驱动DHT11温湿度传感器
DHT11 是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。 DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个 I/O 口。传感器内部湿度和温度数据 40Bit 的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据原创 2014-10-03 21:36:46 · 6666 阅读 · 2 评论 -
STM32驱动DS18B20
DS18B20 是由 DALLAS 半导体公司推出的一种的“一线总线”接口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器。一线总线结构具有简洁且经济的特点,可使用户轻松地组建传感器网络,从而为测量系统的构建引入全新概念,测量温度范围为-55~+125℃ ,精度为±0.5℃。现场温度直接以“一线总线”的数字方式传原创 2014-10-03 20:31:12 · 1645 阅读 · 0 评论 -
S3C2440 TFTLCD驱动详解
S3C2440自带有LCD控制器,该控制器主要有以下接口仅仅说TFT显示器,TFT显示器的时序如下TFT显示器的驱动是以行列的形式逐点扫描过来的,驱动时钟有三种,一种是行时钟,一种是列时钟,还有一个点时钟, VSYNC低电平期间需要扫描完一列数据, HSYNC低电平期间要写完一个点的数据,vclk负责一个点的每一位数据写入,实际上就是说,如果有a列,b行,一个点需c个VCLK时原创 2014-10-13 20:11:58 · 1317 阅读 · 0 评论 -
S3C2440 ADC详解
S3C2440拥有八通道的十位ADC, 最大转换率为2.5MHz A/D转换器时钟下的500KSPS。A/D转换器支持片上采样-保持功能和掉电模式的操作。 八个通道中有四个通道适用于电阻屏的触摸屏触摸检测,另外四个是模拟输入,分别是A[0:3],ADC的使用极其简单,选择时钟à选择通道à启动转换à转换完成主要用到如下几个寄存器负责选择时钟通道以及启动ADC这里读取原创 2014-10-13 20:01:59 · 816 阅读 · 0 评论 -
ADXL345加速度传感器驱动
ADXL345 是 ADI 公司的一款 3 轴、数字输出的加速度传感器。ADXL345 是 ADI 公司推出的基于 iMEMS 技术的 3 轴、数字输出加速度传感器。该加速度传感器的特点有: 分辨率高。最高 13 位分辨率。 量程可变。具有+/-2g,+/-4g,+/-8g,+/-16g 可变的测量范围。 灵敏度高。最高达 3.9mg/LSB,能测量不到 1.0°的倾斜原创 2014-10-04 01:32:32 · 4193 阅读 · 0 评论 -
STM32驱动AT24CXX系列芯片
AT24Cxx系列EEPROM是由美国Mcrochip公司出品,1-512K位的支持I2C总线数据传送协议的串行CMOS E2PROM,可用电擦除,可编程自定时写周期(包括自动擦除时间不超过10ms,典型时间为5ms)的。串行E2PROM一般具有两种写入方式,一种是字节写入方式,还有另一种页写入方式。允许在一个写周期内同时对1个字节到一页的若干字节的编程写入,1页的大小取决于芯片内页寄存器的大小。原创 2014-10-03 22:25:10 · 6694 阅读 · 1 评论 -
S3C2440触摸屏驱动详解
2440的触摸屏转换接口搭载在ADC接口之上,使用上比ADC接口多了一些花样,首先,触摸屏接口有几种转换模式1. 普通转换模式单转换模式是最合适的通用ADC转换。此模式可以通过设置ADCCON(ADC控制寄存器)初始化并且通过读写ADCDAT0(ADC数据寄存器0)就能够完成2. 分离的X/Y方向转换模式触摸屏控制器可以工作在两个转换模式之一。方向转换模式如下方法操作。X方向模式写原创 2014-10-13 20:06:55 · 1005 阅读 · 0 评论 -
STM32驱动W25X64存储器
W25X16原创 2014-10-04 00:48:20 · 9470 阅读 · 3 评论 -
pcommlite串口通讯库使用
MFC下串口编程使用最多的两种方法是读取注册表和使用mscomm组件,都有着或多或少的缺陷,调用系统SDK比较麻烦,而MSCOMm组件最多支持16个串口,串口号大于16的时候无法打开,遇到这种情况,可以使用一个名为pcommlite的串口通讯库,下载安装之后,解压出来的文件包括根据编译的平台选择相应的lib文件加入工程,并加入pcomm.h文件 1.原创 2015-02-01 20:31:20 · 1240 阅读 · 0 评论 -
MIPI(3)
上一篇文章讲了以下D_PHY层,这只是最底层的,针对于显示,上层由分出了四种,由专门的工作组进行定义,显示器方面叫做display wrok group,主要分为DSC(display command set) 显示命令接口DBI(display bus interface) 显示总线接口 ,CPU端的总线设计DPI(display pixel interface)原创 2015-02-01 20:27:53 · 376 阅读 · 0 评论 -
mipi概述
未来的产品都将朝着移动的方向发展,例如智能手机、数码相机、摄像机、平板电脑、媒体播放器、游戏机等,这些产品需要能执行多任务,包括处理多个不同的传感器如麦克风、图像传感器、磁罗盘、三轴加速度计和精细的触摸屏等,它们也要能够扑捉、处理及播放高清晰度的音频、视频和图像,能通过WiFi或者2G/3G/4G网络上网冲浪,以及能够支持GPS导航和移动定位服务(LBS) 随着时间的推移,涌现原创 2015-02-01 20:24:59 · 308 阅读 · 0 评论 -
display-port
去年买了一张ATI的显卡,但是很坑爹的是显卡后面没有VGA接口,除了一个HDMI,另外两个接口不认识,后来认识了DVI,用DVI连接显示器,剩下一个接口是什么一直没管,前两天电脑清灰,感兴趣了,去查了一下,原来这个接口叫做display_port(DP),是从2006年提出的接口,而且,这两年风头强劲,变种出来的eDP在很多嵌入式设备上也有使用,比如,苹果的ipad就是用了edp接口接原创 2015-02-01 20:28:46 · 1535 阅读 · 0 评论 -
MIPI(2)
Mipi针对显示有一整套解决方案,首先,框图如下可以看到,很像OSI七层参考模型,分为应用层:像素处理以及像素包管理,处理一些比较高的协议,协议层底层:用于对打包好的像素数据进行二次打包,包括对数据包进行ecc校验和基本的校验和测试等链路管理层:对数据链路进行管理硬件层:进行实际的包传送,将数字信号从A传输到B 首原创 2015-02-01 20:27:12 · 350 阅读 · 0 评论 -
display-port(2)
上一章讲述了display-port的硬件连接,今天来说说协议层图中可以看到,最底层是物理层,上层是连接服务层,提供的服务包括同步数据传输服务,aux链接服务,aux设备数据传输服务,在设备端也一样,但是两者完成的功能不同,主机端服务主要用于完成数据打包,填充,数据的多路分离(也就是将一个数据包分在几个lane上传输)以及数据编码,在设备端方向完成解包,去填充,原创 2015-02-01 20:30:14 · 855 阅读 · 1 评论 -
S3C2440的SPI解析
S3C2440A的串行外设接口(SPI)可以与串行数据传输连接。S3C2440A包含了2个SPI,每个都有2个分别用于发送和接收的8位移位寄存器。一次SPI传输期间,同时发送(串行移出)和接收(串行移入)数据。由相应控制寄存器设置指定8位串行数据的频率。如果只希望发送,则接收数据可以保持伪位(dummy)。此外如果只希望接收,则需要发送伪位'1'数据使用SPI主要需要以下寄存器选择SPI模原创 2014-10-10 22:01:30 · 1430 阅读 · 0 评论 -
51驱动LCD12864
LCD12864与LCD1602最大的区别在于LCD12864可以显示汉字,同时也可以拿来画图;当然,作为图形显示不推荐lcd12864,TU原创 2014-10-02 21:45:49 · 2223 阅读 · 0 评论 -
51驱动LCD1602
1602 采用标准的 16 脚接口,其中:第 1 脚:VSS 为地电源 第 2 脚:VDD 接 5V 正电源 第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW原创 2014-10-02 17:03:02 · 1019 阅读 · 0 评论 -
HCSR04超声波传感器驱动
HC_SR04是一款使用较为广泛的超声波测距模块,模块图如下该模块具有四个引脚,分别为VCC GND TRIG ECHO,其中VCC GND为供电脚TRIG为测距触发引脚,ECHO为测距输入引脚该模块的驱动模式为控制口发一个 10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,原创 2014-10-07 23:26:38 · 3823 阅读 · 0 评论 -
MQ-2烟雾传感器启动
MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器原创 2014-10-07 23:29:36 · 10282 阅读 · 0 评论 -
NRF24L01无线通讯模块驱动
NRF24L01 无线模块,采用的芯片是 NRF24L01,该芯片的主要特点如下:1)2.4G全球开放的 ISM频段,免许可证使用。2)最高工作速率 2Mbps,高校的 GFSK调制,抗干扰能力强。3)125个可选的频道,满足多点通信和调频通信的需要。4)内置 CRC检错和点对多点的通信地址控制。5)低工作电压(1.9~3.6V)。6)可设置自动应答,确原创 2014-10-07 23:33:39 · 2022 阅读 · 2 评论 -
stm32驱动DS1302芯片
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电原创 2014-10-07 23:36:42 · 3371 阅读 · 2 评论 -
STM32驱动TEA5767收音机模块
Tea5767是飞利浦公司出的一款集成化的收音机芯片,大四的时候机缘巧合遇到了这个芯片,用了一下,写点资料 主要特性TEA5767HN是一款低功耗立体声收音IC,广泛应用于手机MP3、MP 4播放器等便携系统。接收频率 76 MHz~108MHz (日本/美国/欧洲频段选择),中频频率 225kHz采用锁相环调谐系统,带有AG C电路,并可以使用软件进行静音和消除噪原创 2014-10-07 23:44:26 · 6076 阅读 · 2 评论 -
RDA5820收音机芯片驱动
RDA5820 是北京锐迪科推出的一款集成度非常高的立体声 FM收发芯片。该芯片具有以下特点: FM 发射和接收一体 支持 65Mhz~115Mhz的全球 FM接收频段,收发天线共用。 支持 IIC/SPI接口 支持 32.768K晶振 数字音量及自动 AGC控制 支持立体声/单声道切换,带软件静音功能 支持 I2原创 2014-10-07 23:22:31 · 7557 阅读 · 4 评论 -
将ADS1.2的工程迁移到KEIL上-基于2440
新版的MDK支持2440相关芯片,但是很多人的工程都是基于ADS1.2开发,文字不好看,兼容性不好等等问题,而且电脑上装太多开发工具切换起来也麻烦,所以切换到MDK开发2440裸机程序应该是一个很好的选择1. 新建MDK工程,芯片选择2440不拷贝启动代码,因为我们用自己的启动代码2. 建立工程目录分级,建立完成后如下所示拷贝相应代码到对应目录中原创 2014-10-08 22:44:28 · 1247 阅读 · 0 评论 -
S3C2440硬件连接解析
S3c2440是三星公司推出的一款基于ARM920T的处理器,采用ARM内核,不同于单片机,无片上rom与ram,必须搭配相应的外围电路进行使用,现在,让我们从零开始进行这一块MCU的学习,为了入门简单方便,前期我不会搭载任何操作系统,本手册写到哪算哪. 1. 什么是nor flash启动和nand flash启动在任何视屏教程里面,都会告诉你一个开关左右选择就能norfl原创 2014-10-08 22:58:46 · 1365 阅读 · 0 评论 -
S3C2440启动代码2440init.s彻底解析
2440可以选择nand启动和nor启动,这两者之间的关系通过一个按键来选择这个OM0有何玄机,在数据手册中有这么一段可以看到,只要将OM1接地,那么通过OM0选择1或选择0就可以选择NAND启动或者16位宽RAM启动了(当然,还得设置一些东西,下面就说),Nanaflash启动经历的过程相当于首先,2440自动从nand里面读取4K的代码,这4K代码将nand里面的数据拷贝到ram中原创 2014-10-08 23:02:24 · 1065 阅读 · 0 评论 -
S3C2440时钟系统详解
在讲述系统时钟之前,因为这些设备都是挂靠在系统时钟上的,所以必须先说系统时钟,S3C2440的时钟系统如下外部时钟源分两种,晶振或者外部频率,由om3-2选择,时钟电路根据两种选择也有两种我们来分析时钟图可以得到以下结论: 经过选择的外部时钟进入MPLL,进行锁相环倍频,经过锁相环之后的时钟MPLL_IN分成了三股,分别是FCLK,HCLK,PCLK.这其中HCLK和PCLK又是从HC原创 2014-10-09 23:25:18 · 984 阅读 · 0 评论 -
S3C2440串口及其中断系统详解
S3C2440A的通用异步收发器(UART)配有3个独立异步串行I/O(SIO)端口,每个都可以是基于中断或基于DMA模式的操作。换句话说,UART可以通过产生中断或DMA请求来进行CPU和UART之间的数据传输。UART通过使用系统时钟可以支持最高115.2Kbps的比特率。如果是外部器件提供UEXTCLK的UART,则UART可以运行在更高的速度。每个UART通道包含两个的64字节的FIF原创 2014-10-09 23:27:30 · 1852 阅读 · 2 评论 -
s3c2440的GPIO驱动
S3C2440包含有130多个通用的GPIO,同时这些端口也拥有一些复用功能(如ADC输入),有部分端口只能输入,有部分端口只能输出,今天我们来看看如何设置一个GPIO的输出电平以及如何获取一个端口的GPIO电平 对GPIO进行操作分为以下几步1. 功能设置,GPXCON寄存器,针对于2440addr.h,分别为rGPACON, rGPBCON, rGPCCON,原创 2014-10-09 23:08:40 · 971 阅读 · 0 评论 -
S3C2440外部中断系统详解
S3C2440A中的中断控制器接受来自60个中断源的请求。提供这些中断源的是内部外设,如DMA控制器、UART、IIC等等。在这些中断源中,UARTn、AC97和EINTn中断对于中断控制器而言是“或”关系。任意一个中断发生都会触发总中断当从内部外设和外部中断请求引脚收到多个中断请求时,中断控制器在仲裁步骤后请求ARM920T内核的FIQ或IRQ。仲裁步骤由硬件优先级逻辑决定并且写入结果到原创 2014-10-09 23:16:43 · 854 阅读 · 0 评论 -
S3C2440硬件IIC详解
S3C2440A RISC微处理器可以支持一个多主控IIC总线串行接口。一条专用串行数据线(SDA)和一条专用串行时钟线(SCL)传递连接到IIC总线的总线主控和外设之间的信息。SDA和SCL线都为双向的 图上可见,IIC时钟从PCLK产生,并同时受到IICSTAT控制,IIC数据实际上是由一个移位寄存器送出,当IIC处于从机状态的时候,有一个地址比较器来检测IIC总线,使用IIC总原创 2014-10-10 21:50:10 · 941 阅读 · 0 评论 -
S3C2440的定时器详解
S3C2440A有5个16位定时器。其中定时器0、1、2和3具有脉宽调制(PWM)功能。定时器4是一个无输出引脚的内部定时器。定时器0还包含用于大电流驱动的死区发生器定时器0和1共用一个8位预分频器,定时器2、3和4共用另外的8位预分频器。每个定时器都有一个可以生成5种不同分频信号(1/2,1/4,1/8,1/16和TCLK)的时钟分频器。每个定时器模块从相应8位预分频器得到时钟的时钟分频器中原创 2014-10-10 22:12:05 · 1881 阅读 · 0 评论 -
S3C2440的RTC解析
S3C2440拥有一个实时时钟模块,可以在当系统电源关闭后通过备用电池工作。RTC可以通过使用STRB/LDRB ARM操作发送8位二-十进制交换码(BCD)值数据给CPU。这些数据包括年、月、日、星期、时、分和秒的时间信息。RTC单元工作在外部32.768kHz晶振并且可以执行闹钟功能实时时钟模块保存的数据是DCD码形式.框图如下可以看到,要使用实时时钟依靠以下几个寄存器包含原创 2014-10-10 22:02:44 · 705 阅读 · 0 评论 -
cpptoolstip界面提示库使用
很多时候写一些界面程序,需要实时的给用户提示,每次都弹出一个messagebox挺烦的,状态栏又怕人看不到,最后找了一个相关的类,显示效果不错,分享一下,效果如下 下载库下来之后对应八个文件将八个文件加入项目中(好像是全部要加入)包含PPTooltip.h文件添加cpptooltip对象在界面初始化的程序中,初始化原创 2015-02-01 20:32:38 · 176 阅读 · 0 评论