外设驱动库开发
文章平均质量分 92
外设驱动库开发笔记相关文章。以C语言编写的基于对象的开源外设库。
foxclever
览绝胜于巅峰,漱心神以涤尘;觅悠然而思远,垂江海以渔闲
展开
-
外设驱动库开发笔记54:外设库驱动设计改进的思考
本次改进设计的目标有两个:让使用更简单、让功能更内聚。在实例中,我们只设计了初始化函数,而其它的函数都需要对象变量来访问。本套驱动程序完全开源,并会根据使用情况随时修正和新增。并将源码公布到GitHUB:https://github.com/foxclever/ExPeriphDriver。原创 2023-06-21 22:28:11 · 936 阅读 · 1 评论 -
外设驱动库开发笔记53:MAX31856热偶变送器驱动
MAX31856可以对任何类型热电偶的信号进行冷端补偿和数字转换,输出数据以摄氏度为单位。转换器温度分辨率达0.0078125°C,允许读取最高+1800°C、最低-210°C (取决于热电偶类型)的温度读数,热电偶电压测量精度达±0.15%。热电偶输入端提供±45V过压保护。MAX31856内部的查找表(LUT)储存不同类型热电偶(K、J、N、R、S、T、E和B)的线性修正数据。而且MAX31856还具备50H和60Hz电网频率滤波,也是热电偶故障检测频率。原创 2023-04-30 15:51:18 · 2982 阅读 · 1 评论 -
外设驱动库开发笔记52:PM3003S激光粉尘仪驱动
PM3003S 激光粉尘传感器模块采用光学散射原理,可精确检测并计算单位体积内空气中不同粒径的悬浮颗粒物的个数,内置四方独有的尘源智能识别,配以流量稳定的气泵,可实现颗粒物PM1.0、PM2.5、PM10、TSP质量浓度的实时输出。PM3003S 激光粉尘传感器模块接口采用TTL电平。通讯报文包括起始符、长度、命令符、数据以及校验和。具体的数据格式如下。PM3003S 激光粉尘传感器模块有4中命令:读取粉尘仪测量结果,功能码0x0B;开启或关闭粉尘仪测量,功能码0x0C;原创 2023-03-20 21:24:30 · 623 阅读 · 0 评论 -
外设驱动库开发笔记51:SDP800差压传感器驱动
SDP800差压传感器系列是Sensirion为大批量应用设计的数字压差传感器系列。传感器测量空气和非腐蚀性气体的压力,具有极高的精度,没有偏移。该传感器覆盖的压力范围高达±500 Pa,并提供卓越的精度。其结构及引脚定义如下图所示:SDP800系列差压传感器具有数字2线I2C接口,这使得它很容易直接连接到微处理器。在I2C总线上每一台设备都有一个地址,SDP800差压传感器不同的型号设备地址略有差异,具体如下表:虽然I2C接口基本有规范的通讯格式,但不同的设备在通讯报文的设置上还是有一下差异。原创 2023-02-05 21:51:37 · 1089 阅读 · 0 评论 -
外设驱动库开发笔记50:HP203B气压传感器驱动
HP203B是高分辨率(0.1meter)压力传感器,带有I²C接口,包括一个硅压阻压力元件和一个高分辨率24 位△∑ADC。HP203B提供高精度24位压力和温度数字输出,客户可以根据应用需要转换速度和高度,所有内置计算采用了高速4MHz的浮点运算,计算误差小,数据补偿是内部集成,通讯连接非常简单,高度及温度上下限比较的可编程事件及中断输出控制。我们依然使用基于对象的方式来设计HP203B气压传感器的驱动。所以我们首先考虑HP203B气压传感器对象类型的定义。关于对象,我们知道器包含属性和操作。原创 2023-01-08 19:28:10 · 1597 阅读 · 1 评论 -
外设驱动库开发笔记49:BY25Qxx存储器驱动
在开始实现BY25QXXX系列NOR FLASH存储器的驱动之前,我们需要先了解一下它的基本情况。我们依旧是基于对象的模式来考虑这一问题,所以我们首先需要定义BY25QXXX系列NOR FLASH存储器的对象类型。我们先来分析一下,作为对象BY25QXXX系列NOR FLASH存储器都有哪些必要的属性和操作。原创 2022-11-27 22:21:01 · 1307 阅读 · 0 评论 -
外设驱动库开发笔记48:MCP4725单通道DAC驱动
MCP4725是一个低功耗,高精度,单通道,12位缓冲电压输出数字到模拟转换器(DAC)与非易失性存储器(EEPROM)。它的板载精度输出放大器允许它实现轨到轨模拟输出摆动。DAC输入和配置数据可以被编程到非易失性存储器(EEPROM)由用户使用I2C接口命令。非易失性存储器特性使DAC设备能够在断电时保存DAC输入代码,并且在通电后立即提供DAC输出。当DAC设备被用作网络中其他设备的支持设备时,这个特性非常有用。MCP4725的引脚定义及排布如下:MCP4725有一个外部A0地址位选择引脚。原创 2022-11-06 15:30:06 · 2906 阅读 · 1 评论 -
外设驱动库开发笔记47:ADS111x系列ADC驱动
ADS1113、 ADS1114 和 ADS1115 器件 (ADS111x)是兼容 I2C 的 16 位高精度低功耗模数转换器。ADS111x 器件采用了低漂移电压基准和振荡器。ADS1114 和 ADS1115 还采用可编程增益放大器(PGA) 和数字比较器。凭借这些特性加之较宽的工作电源电压范围,使得ADS111x非常适合功率受限和空间受限的传感器测量应用。其引脚定义及封装如下:ADS111x 可在数据速率高达每秒 860 个样本 (SPS)的情况下执行转换。原创 2022-10-16 15:00:59 · 1571 阅读 · 0 评论 -
外设驱动库开发笔记46:MAX31855热偶变送器驱动
MAX31855是具有冷端补偿,能将K、J、N、T或E型热电偶信号转换成数字量的热偶温度变送器。该热偶温度变送器输出14位带符号数据,通过SPI兼容接口、以只读格式输出。其引脚定义疾风传如下图所示:MAX31855器件处理来自热电偶的读数,并通过串口发送数据。当片选信号为低电平,并在SCK端施加时钟信号,即可从SO读取结果。MAX31855器件始终在后台执行转换,只有片选信号CS为高电平时才能更新故障状态和温度数据。片选信号CS为低电平时,SO引脚将输出第一位数据。原创 2022-09-17 17:29:22 · 2977 阅读 · 1 评论 -
外设驱动库开发笔记45:MS4515DO压力传感器驱动
MS4515DO是TE公司推出的一款基于PCB安装的小型陶瓷基压力传感器。该传感器采用最新的CMOS传感器调节电路,制造出一种低成本、高性能的数字输出压力(14bit)和温度(11bit)传感器,以满足OEM客户最严格的要求。MS4515DO完全校准和温度补偿,总误差带在补偿范围内小于1.0%。该传感器采用直流3.3V或5.0V单电源供电模式,对外接口采用I2C总线或三线SPI的模式。其结构图如下:MS4515DO和MS4525DO拥有相同的功能和模式,区别只在于输出的物理量单位不同而已。原创 2022-09-04 15:49:15 · 1966 阅读 · 3 评论 -
外设驱动库开发笔记44:DDC114 ADC驱动
在产品设计过程中,很多时候都会用到ADC器件,而在一些特殊场合还需要一些特别的ADC器件。我们在这篇中将讨论常用于医疗器件方面的,DDC114这款电流输入ADC,并为其设计一个驱动程序。原创 2022-07-17 21:50:37 · 1259 阅读 · 5 评论 -
外设驱动库开发笔记43:GPIO模拟SPI驱动
SPI总线是我们常用的串行设备接口,一般情况下我们都会适应硬件SPI接口,但有些时候当硬件端口不足时,我们也希望可以使用软件来模拟SPI硬件接口,特别是要求不是很高的时候。在这一篇中我们将来讨论如何使用GPIO和软件来模拟SPI通讯接口。......原创 2022-07-03 17:58:33 · 3509 阅读 · 1 评论 -
外设驱动库开发笔记42:DAC8552 DAC驱动
模拟信号输出是经常会遇到的应用需求,解决的办法应多种,但我们使用最多的还是数模转换。对于不同的数模转换器我们需要为其编写适用的驱动程序,在这一篇中我们就来考虑如何实现DAC8552高精度模数转换器的驱动程序。 该DAC8552是一个16位,双通道,电压输出数模转换器(DAC)提供低功率操作和灵活的串行主机接口。每个芯片上的精确输出放大器允许轨到轨输出摆动,以实现在2.7V到5.5V的供应范围。该设备支持标准三线串行接口,能够操作与输入数据时钟频率高达30MHz的VDD = 5V。 DAC8552这种原创 2022-06-05 16:16:05 · 4474 阅读 · 3 评论 -
外设驱动库开发笔记41:ADS1256 ADC驱动
我们经常会碰到多通道AD采集的需求,有时候甚至需要高精度的ADC器件。本篇我们将来设计并实现ADS1256模数转换器的驱动。并简单讨论该驱动使用方式。1、功能概述 ADS1256是TI公司推出的一款低噪声高分辨率的24位Sigma-Delta(E-v)模数转换器(ADC)。E-vADC与传统的逐次逼近型和积分型ADC相比有转换误差小而价格低廉的优点,但由于受带宽和有效采样率的限制,E-vADC不适用于高频数据采集的场合。该款ADS1256可适合于采集最高频率只有几千赫兹的模拟数据的系统中,数据输出原创 2022-05-08 22:16:13 · 8888 阅读 · 0 评论 -
外设驱动库开发笔记40:AT25xxx外部存储器驱动
我们在前面开发过AT24CXX系列EEPROM存储器,它使用的是I2C接口。不过有时候我们也会使用SPI接口的EEPROM存储器。在这一篇我们将来讨论AT25XXX系列EEPROM存储器的驱动设计、实现及使用。1、功能概述 AT25XXX系列EEPROM存储器采用SPI接口,因其操作简单且性价比高,常用于数据保存。出于开发面向AT25XXX系列EEPROM存储器操作的驱动目标,我们先来了解一下AT25XXX系列EEPROM存储器的基本情况。1.1、硬件描述 AT25XXX系列EEPROM存储原创 2022-04-05 14:32:47 · 2179 阅读 · 2 评论 -
外设驱动库开发笔记39:按键操作驱动
按键在我们的项目中是经常使用到的组件。一般来说,我们都是在用到按键时直接针对编码,但这样每次都做很多重复性的工作。所以在这里我们考虑做一般性抽象得到一个可应用于按键操作的通用性驱动程序。1、功能概述 按键操作在我们的产品种经常用到,一般都是在特定的应用环境中直接有针对性的操作。但这些按键的操作往往有很多的共性,这就为代码复用提供了可能。1.1、按键的定义 在开始考虑按键操作之前,我们先来分析一下究竟什么是按键。按键一般来讲就是用于信号输入的按钮,通过响应它的操作我们可以实现想要的功能。但我们原创 2022-03-20 13:34:28 · 1288 阅读 · 0 评论 -
外设驱动库开发笔记38:RTD热电阻测温驱动
我们已经讨论过多种温度检测方式,但我们尚未关注热电阻温度检测,但热电阻测温在工业环境中是非常常见的。尽管有很多集成的数字式的热电阻接口元器件,但这些器件不但成本较高,灵活性也大打折扣。所以我们有时会使用更简单灵活的电路来驱动RTD。而在这一篇中,我们将讨论如何设计并实现RTD热电阻测温的驱动。1、功能概述 RTD热电阻是常用的测温元件。RTD的英文全称为“Resistance Temperature Detector”,因此准确来说,它应该翻译为“电阻温度检测器”。RTD是一种特殊的电阻,其阻值会原创 2022-03-06 09:15:32 · 798 阅读 · 0 评论 -
外设驱动库开发笔记37:S1336-5BQ光敏二极管作为光度计驱动
光敏二极管能够实现很多应用,用于光度检测即是其一。我们在一些产品中就曾使用S1336-5BQ光敏二极管进行光度值检测。所以在本篇中,我们将讨论如何设计并实现S1336-5BQ光敏二极管用于光度检测的驱动。1、功能概述 根据相关的资料,光电二极管S1336-5BQ的光谱响应范围为:190~1100nm范围,最灵敏的波长是960nm。而且光电二极管S1336-5BQ每100lx的光照对应有5μA的电流。于是我们可以据此设计一个电路,将电流的变化改变为电压变化,具体原理图设计如下: 上图中R5是采原创 2022-01-09 09:56:19 · 840 阅读 · 0 评论 -
外设驱动库开发笔记36:NTC负温度系数热电阻测温驱动
在嵌入式产品中,温度检测非常常见。在成本比较敏感而精度要求较低时,NTC电阻是个不错的选择。在这一篇中,我们将讨论如何和设计并实现一个通用的NTC驱动,以便在后续的项目中更方便的复用。1、功能概述 NTC是指随温度上升电阻呈指数关系减小、具有负温度系数的热敏电阻现象和材料。NTC热敏电阻是以锰、铜、硅、鈷、铁、镍、锌等金属氧化物为主要材料,采用陶瓷工艺制造而成的,其电阻率和材料常数随材料成分比例、烧结气氛,烧结温度和结构状态不同而变化。现在还出现了以碳化硅、硒化锡、氮化钽等为代表的非氧化物系NTC原创 2021-12-26 19:41:04 · 1613 阅读 · 2 评论 -
外设驱动库开发笔记35:迪文触摸屏驱动
有些时候嵌入式系统也需要显示更为复杂的图形,需要更丰富的数据展示。为此,我们需要更大,色彩更丰富,带触屏的显示屏,当然性价比更高就最好了。在我们的项目中遇到此类需求,我们有时会选择DWIN触摸屏。在本篇中,我们就来设计并实现DWIN触摸屏的驱动。1、功能概述 我们这里所说的是迪文的串口屏,该屏有多种接口类型,有使用RS485接口的屏,也有可通过跳线实现TTL接口或RS232接口的屏。但不论什么接口均采用相同的通讯协议。迪文串口屏采用的通讯协议的完整指令结构如下图所示: 其中,CRC校验不包括原创 2021-12-05 20:27:40 · 2933 阅读 · 1 评论 -
外设驱动库开发笔记34:OLED显示屏驱动
现在OLED显示屏在嵌入式系统中应用的越来越多。对于一些显示信息不太复杂,以显示信息为主的需求,我们一般会选择OLED显示屏。在这一篇中,我们将讨论OLED显示屏驱动的设计与实现。1、功能概述 从使用的情况来说,较为常用的是0.96英寸的OLED128x64的显示屏。这种OLED屏多采用象SSD1306这类驱动芯片,所以我们对OLED屏的操作实际就是对控制芯片的操作。 对于0.96英寸的OLED128x64的显示屏,其像素点为128x64个,对应在显示RAM中的128x64个位。在显存中,这些原创 2021-11-21 20:17:21 · 2186 阅读 · 0 评论 -
外设驱动库开发笔记33:LCD1602液晶显示屏驱动
LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。在这一章我们就来讨论LCD1602液晶显示屏驱动的设计与实现。1、功能概述 LCD1602液晶又被称作1602字符型液晶,这是一种只用来显示字母、数字、符号等的点阵型液晶模块。LCD1602里面存储器一般有三种:CGROM、CGRAM、DDRAM。其中DDRAM(Display Data RAM)就是显示数据RAM,用来寄存待显示原创 2021-10-10 20:04:23 · 3097 阅读 · 0 评论 -
外设驱动库开发笔记32:HLPM025K3 PM2.5传感器驱动
现在人们对大气环境及室内环境都比较关注。PM2.5在生活中也是常见的词汇。在有些产品中就要求检测PM2.5的数值。检测PM2.5的手段多种多样,在要求不高时我们通常可以采用激光模块。在这一篇中,我们将讨论HLPM025K3 PM2.5传感器驱动的设计与实现。1、功能概述 HLPM025K3传感器采用激光散射原理。即令激光照射在空气中的悬浮颗粒物上产生散射,同时在某一特定角度收集散射光,得到散射光强随时间变化的曲线。通过稳定的气 体对流系统,使外界空气均匀的通过自主研发设计的风路,同时在风路中设有多原创 2021-09-25 16:46:26 · 417 阅读 · 0 评论 -
外设驱动库开发笔记31:S-Modlue远红外气体传感器驱动
在气体分析类产品中,我们经常会用到远红外气体传感器。我们就在碳氢类气体成分分析中使用了S-Modlue远红外气体传感器。接下来,我们将讨论S-Modlue远红外气体传感器驱动的设计与实现。1、功能概述 S-MODULE EVO 使用非分散红外检测技术NDIR,集成稳定红外光源,配置可靠性能的光电探测器,确保了传感器检测的稳定性能。 S-MODULE采用的是RS232串行通讯接口,但其通讯接口对外只有一个通讯引脚,所以实现的是半双工模式。串口参数为:2400波特率,7位数据位,1位停止位,偶校验原创 2021-09-11 21:56:08 · 408 阅读 · 0 评论 -
外设驱动库开发笔记30:宇电AI-BUS通讯驱动
嵌入式系统通常都会与外部设备进行通讯,这就涉及到通讯协议的问题。这些通讯协议有的是标准协议有的厂家自定义的协议,如宇电的AI-BUS。在本篇中,我们将讨论AI-BUS的驱动,以便于与宇电设备的通讯。1、功能概述宇电的设备使用基于RS-485的自定义协议,该协议称为AI-BUS。AI-BUS协议采用16进制数据格式来表示各种指令代码。数据协议本身比较简单,标准的通讯指令只有两条,一条为读指令,一条为写指令:读:地址代号+52H(82)+要读的参数代号+0+0+校验码写:地址代号+43H(67)原创 2021-06-05 22:24:03 · 719 阅读 · 0 评论 -
外设驱动库开发笔记29:DS17887实时时钟驱动
一些时候,在我们的嵌入式产品中需要记录时间,所以我们就需要获取时钟,当然实现的方式多种多样,有的MCU本身就有这一功能,不过精度较低。当我们的应用要求较高时就需要使用专门的实时时钟芯片,如DS17887。在本篇中,我们来实现DS17887的驱动。1、功能概述DS17287、DS17487和DS17887(以下简称DS17x87)将石英晶体和锂电源集成到一个24针的DIP封装中。1.1、硬件设备DS17x87电源控制电路允许系统由外部激励供电,如键盘或时间和日期(唤醒)报警。PWR输出引脚是由原创 2021-05-16 21:59:02 · 509 阅读 · 4 评论 -
外设驱动库开发笔记28:W5500以太网控制器
以太网通讯是一种被广泛使用的数据通讯方式。在嵌入式应用中也经常使用,但协议栈的实现并不是一件容易的事。不过有些以太网控制器就带有协议栈,如W5500。在本篇中我们将讨论如何设计并实现W5500以太网控制器的驱动。1、功能概述W5500是WIZnet开发的单芯片全硬件TCP/IP协议栈,能够方便的实现网络连接应用。1.1、硬件描述W5500作为一款全硬件TCP/IP嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案。W5500 集成了 TCP/IP 协议栈,10/100M 以太网数原创 2021-05-01 21:02:40 · 2484 阅读 · 1 评论 -
外设驱动库开发笔记27:ESP8266无线通讯驱动
我们的物联网产品所使用的平台都支持无线通讯,而且无线通讯本身更的成本较低,受到大家的欢迎。在本篇文章中,我们将详细讨论并实现ESP8266无线通讯模块的驱动。1、功能概述ESP8266是由乐鑫公司出品的一款物联网芯片,因为价格较低,性能稳定等收到很大关注。该芯片可工作于三种WIFI模式下,分别是:station模式,AP模式以及混合模式,通过AT指令进行控制,显影的指令格式为:AT+CWMODE=<mode>。mode的取值决定设定的模式:当mode为1时,ESP8266工作于s原创 2021-04-18 21:54:10 · 1244 阅读 · 0 评论 -
外设驱动库开发笔记26:nRF24L01无线通讯驱动
现在无线在我们的生活中无处不在。而我们开发的物联网产品也大量使用无线通讯。在这一篇文章中,我们将讨论nRF24L01无线通讯模块驱动程序的开发与实现。1、功能概述nRF24L01是一款工作在2.4~2.5GHz世界通用ISM 频段的单片无线收发器芯片无线收发器包括:频率发生器、增强型SchockBurst模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频道选择和协议的设置可以通过SPI 接口进行设置。其封装及引脚定义如下:1.1、工作模式nRF24L01无线通讯模块可以设置原创 2021-04-04 22:09:42 · 1430 阅读 · 0 评论 -
外设驱动库开发笔记25:FM25xxx FRAM存储器驱动
在我们的项目中,时常会有参数或数据需要保存。铁电存储器的优良性能和操作方便常常被我们选用。FM25xxx FRAM存储器就是我们经常使用到的一系列铁电存储器,这一篇我们将讨论FM25xxx FRAM存储器的驱动设计、实现及使用。1、功能概述FM25xxx FRAM存储器是非易失性存储器,采用了先进的铁电存储。铁电随机存取存储器或F-RAM是非易失性的,其读写操作与RAM类似。它提供了151年的可靠数据保留,同时消除了由串行闪存、EEPROM和其他非易失性存储器引起的复杂性、开销和系统级可靠性问题。原创 2021-03-07 16:43:05 · 5641 阅读 · 6 评论 -
外设驱动库开发笔记24:FM24xxx系列FRAM存储器驱动
虽然说使用EEPROM保存参数很有效,但操作及使用次数均有一下限制。当我们的一些参数需要不定时修改或存储时,使用FRAM就更为方便一点。这一节我们就来设计并实现FM24xxx系列FRAM的驱动。1、功能概述我们首先说一下铁电随机存取存储器,F-RAM是非易失性的,其读写操作与RAM类似。它提供了151年的可靠数据保存,同时消除了由EEPROM和其他非易失性内存引起的复杂性、开销和系统级可靠性问题。1.1、硬件描述FM24xxx系列FRAM存储器拥有从4K到1M的各种容量。虽然不同型号的FM2原创 2021-02-21 19:17:11 · 2311 阅读 · 3 评论 -
外设驱动库开发笔记23:AT24Cxx外部存储器驱动
在我们的应用开发过程中,经常会使用到外部的EEPROM外部存储器来保存一些参数和配置数据等。而比较常用的就是AT24Cxx系列产品,这一节我们来开发用于操作AT24Cxx系列产品的驱动。1、功能概述AT24Cxx系列EEPROM包括从1Kbit到2Mbit的各种容量。AT24Cxx系列产品采用I2C总线数据传送协议。尽管容量跨度很大,但它们都拥有相同的封装和引脚排布,具体的引脚分配如下:由于A0、A1和A2可以组成000~111八种情况,即通过器件地址输入端A0、A1和A2可以实现将最多8个原创 2021-01-24 16:32:35 · 2351 阅读 · 5 评论 -
外设驱动库开发笔记22:ADXL345三轴数字加速度计驱动
移动设备的广泛应用增加对移动过程中各种参数的检测需求。ADXL345三轴数字加速度计可以用来检测加速度、进而测量倾斜角度等。在这一篇中,我们将讨论ADXL345三轴数字加速度计驱动程序的设计与实现。1、功能概述ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达±16 g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。采用SPI通讯接口时,最大SPI时钟速度为5 MHz,时序方案按照时钟极性(CPOL)= 1、时钟相位(CPHA)=原创 2021-01-10 20:33:37 · 1941 阅读 · 4 评论 -
外设驱动库开发笔记21:BME680环境传感器驱动
环境传感器是一类我们很常用的传感器。它可以方便我们获取压力、温度、湿度以及空气质量等数据。在这一篇中,我们将分析BME680环境传感器的功能,并设计和实现BME680环境传感器的驱动。1、功能概述BME680是一款专为移动应用和可穿戴设备开发的集成环境传感器,其尺寸和低功耗是关键要求。1.1、硬件接口BME680由一个8针金属盖3.0 x 3.0 x0.93mm³LGA封装组成,旨在根据特定的工作模式,长期稳定性和高EMC稳健性进行优化消耗。可以选择采用I2C接口或者SPI接口。其管脚排布如原创 2020-12-27 19:52:42 · 4408 阅读 · 5 评论 -
外设驱动库开发笔记20:BME280压力湿度温度传感器驱动
嵌入式产品开发中,我们常常会有检测环境温度、压力、湿度的需求。如果有一个集成有这3个传感器的元件,无疑将是很方便的。博世的BME280就能实现这一要求。在这一篇中我们将讨论BME280的驱动设计与实现。1、功能概述BME280是一款专为移动应用而开发的集成环境传感器,其尺寸和低功耗是关键设计限制。该装置结合了单个高线性度,高精度压力,湿度和温度传感器,采用8引脚金属盖2.5 x 2.5 x0.93mm³LGA封装,设计用于低电流消耗(3.6μA@ 1Hz),长期稳定性高EMC稳健性。1.1、硬件原创 2020-12-13 20:56:36 · 4298 阅读 · 0 评论 -
外设驱动库开发笔记19:BMP280压力温度传感器驱动
压力和温度监测在嵌入式系统开发中是非常常见的需求,特别是对环境大气压力和温度的检测需求就更常见了。我们一般都会选择一些封装较小操作比较方便的压力传感器。BMP280就是满足这一要求的器件。在这一篇中我们将设计并实现BMP280的驱动。1、功能概述BMP280是一款绝对压力传感器产品。BMP280是一款绝对的气压传感器,专为移动应用而设计。传感器模块采用极其紧凑的封装。其小尺寸和低功耗允许在诸如移动电话,GPS模块或手表的电池供电设备中实现。1.1、硬件接口BMP280基于博世经过验证的压阻式原创 2020-11-22 14:32:50 · 6654 阅读 · 1 评论 -
外设驱动库开发笔记18:MS5837压力变送器驱动
绝对压力的检测是常见的需求。在我们的系统中也常常会遇到。而MS5837压力传感器也是我们进场会采用的方案。在这篇里我们将讨论并实现MS5837压力传感器的驱动。1、功能概述MS5837压力传感器是一种可用于电路板上,适用于检测10-1200mbar压力范围的传感器,灵敏度非常高,理论上能够检测到0.01mbar的压力变化,实际使用过程中测试并无明显的变化。MS5837压力传感器采用I2C总线通讯,与MCU可以实现I2C通讯。硬件连接方式如下:MS5837压力传感器拥有5类基本命令:复原创 2020-11-15 14:16:18 · 1548 阅读 · 0 评论 -
外设驱动库开发笔记17:MS5803压力变送器驱动
很多时候我们需要检测被控对象的绝对压力,而且在我们的多款产品中也有这样的需求。当然检测绝对压力的传感器有很多,我们经常使用MS5803来实现压力检测。本篇中我们将设计并实现MS5803系列压力传感器的驱动。1、功能概述MS5803系列产品包含压阻传感器和传感器接口IC。MS5803系列压力传感器的主要功能是将未补偿的压阻压力传感器的模拟输出电压24位数字值,以及提供一个24位数字值的温度传感器。1.1、硬件描述MS5803系列压力传感器是新一代高分辨率高度计传感器,它是为高度计和高度分辨率为原创 2020-11-01 20:38:09 · 3564 阅读 · 8 评论 -
外设驱动库开发笔记16:MS5536C压力变送器驱动
压力检测也是经常会遇到的需求,比如环境压力或者低压气体等都会用到压力检测。这类检测压力都比较低,一般不会超过大气压,有时甚至是负压。这一篇我们要讨论的MS5536C就属于这类器件。接下来我们将设计并实现MS5536C的驱动。1、功能概述MS5536C是一个系列的高分辨率工厂校准压力传感器。该设备包括一个压阻式压力传感器和一个ADC,采用三线SPI接口。该设备以16位数据字的形式提供数字压力和温度信息。其结构图如下:MS5536C包含压阻传感器和传感器接口IC。MS5536C的主要功能是将压阻原创 2020-10-25 20:29:03 · 1813 阅读 · 4 评论 -
外设驱动库开发笔记15:DHT11温湿度传感器驱动
与DS18B20一样DHT11也是采用单总线,但所不同的是DHT11可同时实现温度和湿度的检测。在我们的产品中经常使用它来检测环境的温湿度信息。这一篇我们将设计并封装DHT11的驱动程序,以方便重复使用。1、功能概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。1.1、硬件描述传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质原创 2020-10-18 17:59:13 · 4416 阅读 · 3 评论