自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木南创智

惟愿平凡的生活不以平淡的方式度过!

  • 博客(208)
  • 资源 (6)
  • 收藏
  • 关注

原创 LwIP应用开发笔记之十一:LwIP带操作系统UDP服务器

  我们已经实现了在FreeRTOS系统上的LwIP的移植工作,但只是简单的在系统平台上跑了起来。我们还希望能做更多的事情,这一节我们就在FreeRTOS系统上实现基于LwIP的UDP服务器。1、UDP协议简述  UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,处于传输层,是IP协议的上层协议。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。  UDP协议的主要作用是将网

2021-10-30 21:22:18 1304

原创 滤波器开发之四:基于算术平均的中值滤波器

  在信号采集系统中,除了我们感兴趣的数据外,难免会有一些来自于环境的干扰信号。但我们总希望我们得到的数据是纯净而真实的,为了达到这个目标,我们不得不想办法去除这些干扰信号,于是滤波器就成为我们必不可少的帮手。这一篇我们就来讨论如何通过软件实现基于中值平均算术平均算法的中值数字滤波器。1、问题的提出  在我们通过AD采集获取数据时,不可避免会受到干扰信号的影响,而且很多时候我们希望尽可能的将这种影响减到最小。为实现这一目的,人们想了很多办法,有硬件方面的,也有软件方面的。在硬件难以改变或者软件能够达到相

2021-10-23 20:47:16 676

原创 外设驱动库开发笔记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 3050

原创 外设驱动库开发笔记32:HLPM025K3 PM2.5传感器驱动

  现在人们对大气环境及室内环境都比较关注。PM2.5在生活中也是常见的词汇。在有些产品中就要求检测PM2.5的数值。检测PM2.5的手段多种多样,在要求不高时我们通常可以采用激光模块。在这一篇中,我们将讨论HLPM025K3 PM2.5传感器驱动的设计与实现。1、功能概述  HLPM025K3传感器采用激光散射原理。即令激光照射在空气中的悬浮颗粒物上产生散射,同时在某一特定角度收集散射光,得到散射光强随时间变化的曲线。通过稳定的气 体对流系统,使外界空气均匀的通过自主研发设计的风路,同时在风路中设有多

2021-09-25 16:46:26 393

原创 外设驱动库开发笔记31:S-Modlue远红外气体传感器驱动

  在气体分析类产品中,我们经常会用到远红外气体传感器。我们就在碳氢类气体成分分析中使用了S-Modlue远红外气体传感器。接下来,我们将讨论S-Modlue远红外气体传感器驱动的设计与实现。1、功能概述  S-MODULE EVO 使用非分散红外检测技术NDIR,集成稳定红外光源,配置可靠性能的光电探测器,确保了传感器检测的稳定性能。  S-MODULE采用的是RS232串行通讯接口,但其通讯接口对外只有一个通讯引脚,所以实现的是半双工模式。串口参数为:2400波特率,7位数据位,1位停止位,偶校验

2021-09-11 21:56:08 384

原创 ThreadX应用开发笔记之二:移植ThreadX到STM32H7平台

  前面我们将ThreadX成功移植到了STM32F4平台,但这只是我们的部分应用。我们希望将ThreadX的优势发挥到我们的更多应用中,所以在这一篇中我们就来实现将ThreadX移植到STM32H7平台中。1、前期准备  在开始将ThreadX移植到STM32H7平台之前,我们需要做一些软硬件方面的准备。  首先,我们需要准备STM32H7的硬件平台。这次我们采用STM32H750VBT6为控制单元来作为目标平台。这是一款我们在实际项目中使用的,经过验证的,硬件能够稳定运行的平台。  其次,我们

2021-09-04 20:13:30 1264

原创 Modbus协议栈综合实例设计

  自我们开源了我们的Modbus协议栈之后,就一直有朋友来信说希望提供示例。这次我们整理了几个例子以供参考。1、应用实例规划  在这次的实例中,我们使用的目标板拥有一个以太网接口、一个RS232串行接口和一个RS485串行接口,所以我们规划实现:一个Modbus TCP Server实例一个Modbus RTU Slave实例一个Modbus RTU Master实例  这三个实例并不是独立的,Modbus TCP Server和Modbus RTU Slave它们实现的实际上

2021-08-28 16:30:02 2851 3

原创 USB应用开发笔记之一:STM32上实现USB主机读写U盘

  在项目应用中,经常会有对外交换数据的需求。USB接口读写U盘无疑是一种颇为方便的选择。在这一篇中,我们就来讨论如何在STM32上实现USB主机读写U盘文件的方法。1、应用概述  在我们的产品上有这样一个需求,希望通过大容量的U盘存取数据。我们来分析一下这个需求的具体内容。  首先在硬件上我们需要有相应的USB端口,这一点在产品设计时就已经考虑并实现,所以硬件方面我们就不再过多的表述。  其次我们需要为这个USB的硬件接口编写驱动,就是实现USB端口的底层操作,如IO配置、终端处理等,这是移植的主

2021-08-21 22:33:33 21953 9

原创 电机速度曲线规划2:S形速度曲线设计与实现

  电机驱动是很常见的应用,在很多系统中我们都会碰到需要改变电机的速度以实现相应的控制功能,这就涉及到电机速度曲线规划的问题。在这篇中我们就来简单讨论一下电机的S型曲线规划的问题。1、基本原理  S型速度曲线控制算法是工业控制领域另一种常用的加减速控制策略,S型曲线很好的克服了T型曲线加速度不连续的问题。  S型曲线实际就是实现一个加速度的T型变化过程,具体来说就是加速度增加、加速度恒定、将速度减小的过程。在整个速度调节规程中,加速度是连续变化的,而反映到速度的变化就是一条平滑的S型曲线。如下图所示:

2021-08-14 15:32:52 12267 11

原创 通讯接口应用笔记3:使用W5500实现Modbus TCP服务器

  前面我们设计实现了W5500的驱动程序,也讲解了驱动的使用方式。在最近一次的项目应用中,正好有一个使用W5500实现TCP通讯的需求,所以我们就使用该驱动程序轻松实现。这一篇中我们就来说一说基于我们W5500通讯驱动程序实现TCP通讯的过程。1、应用需求  在本次应用中,要求实现一个基于W5500的Modbus TCP服务器。这个需求的描述虽然只有一句话,但是这个需求的内容可不简单。我们首先来分析一下这个需求的具体内容。  为了实现基于W5500的Modbus TCP服务器,我们必先须基于W550

2021-08-08 13:24:42 3938 2

原创 文件系统应用笔记之一:FatFS在STM32F4上的移植

  在实现如U盘文件读写,SD卡的文件读写等工作时,我们往往需要一个文件系统来支持我们的工作。特别在一些MCU应用中,文件系统的加入能明显改善系统交互的友好性。在这一篇中,我们就来讨论FatFS文件系统在STM32F4上的移植和应用。1、准备工作  在开始FatFS的移植之前我们需要做一些必要的准备工作。首先需要准备相应的硬件平台,我们在这里使用的是STM32F407VET6的操作平台。USB硬件相关的库的移植工作也已完成。  其次我们还需要准备FatFS的相关源码,在这里我们使用最新的R0.14b版

2021-07-31 10:15:39 2509

原创 电机速度曲线规划1:梯形速度曲线设计与实现

  电机驱动是很常见的应用,在很多系统中我们都会碰到需要改变电机的速度以实现相应的控制功能,这就涉及到电机速度曲线规划的问题。在这篇中我们就来简单讨论一下电机的梯形曲线规划的问题。1、基本原理  梯形速度曲线控制算法是工业控制领域应用最为广泛的加减速控制策略之一。所谓梯形速度曲线将整个运动过程分为匀加速、匀速和匀减速三个阶段,在变速过程中加速度保持不变。  从变速过程中加速度保持不变这特点来说,其加减速过程其实是一个线性过程。我们可以采用一个线性函数来描述它。  这一线性函数,具体到我们的加减速

2021-07-16 22:32:30 5111 5

原创 通讯接口应用笔记2:MAX3160实现多协议通讯

  在一些应用需求中,我们需要对外部提供串行通讯端口,但这些端口所通讯的目标设备各有不同,接口协议也有RS232以及RS485和RS422多种。面对这种情况,我们当然可以同时设计多个串口以适应不同需要,但无疑对硬件资源是一种浪费。我们希望能够动态配置接口类型以适应不同需求,这一篇中我们就来讨论使用MAX3160实现这样的多协议接口通讯的问题。1、原理简述  MAX3160是一款可编程RS232、RS485和RS422多协议收发器。可以通过引脚配置来实现双通道RS-232,单通道的RS-485和RS-42

2021-07-03 22:14:58 5094 2

原创 步进电机驱动技术3:基于ULN2003的步进电机驱动

  在我们的项目中,经常使用到低电压小功率的步进电机,此类步进电机若采用驱动器控制不断成本高也过于复杂,我们可以直接使用场效应管或者达林顿管来实现对其的驱动。在本篇中,我们就来讨论一下基于ULN2003A达林顿管实现对步进电机的驱动。1、功能概述  我们先来了解一下基本的功能。ULN2003A达林顿管为7个输出通道,当导通时该通道连接到负端,所以非常适合于驱动4相5线步进电机。1.1、ULN2003A达林顿管  ULN2003A 器件是高电压大电流达林顿晶体管阵列。每 款器件均由7个NPN 达林顿对

2021-06-19 17:42:41 34676

原创 外设驱动库开发笔记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 697

原创 外设驱动库开发笔记29:DS17887实时时钟驱动

一些时候,在我们的嵌入式产品中需要记录时间,所以我们就需要获取时钟,当然实现的方式多种多样,有的MCU本身就有这一功能,不过精度较低。当我们的应用要求较高时就需要使用专门的实时时钟芯片,如DS17887。在本篇中,我们来实现DS17887的驱动。1、功能概述DS17287、DS17487和DS17887(以下简称DS17x87)将石英晶体和锂电源集成到一个24针的DIP封装中。1.1、硬件设备DS17x87电源控制电路允许系统由外部激励供电,如键盘或时间和日期(唤醒)报警。PWR输出引脚是由

2021-05-16 21:59:02 492 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 2421 1

原创 外设驱动库开发笔记27:ESP8266无线通讯驱动

我们的物联网产品所使用的平台都支持无线通讯,而且无线通讯本身更的成本较低,受到大家的欢迎。在本篇文章中,我们将详细讨论并实现ESP8266无线通讯模块的驱动。1、功能概述ESP8266是由乐鑫公司出品的一款物联网芯片,因为价格较低,性能稳定等收到很大关注。该芯片可工作于三种WIFI模式下,分别是:station模式,AP模式以及混合模式,通过AT指令进行控制,显影的指令格式为:AT+CWMODE=<mode>。mode的取值决定设定的模式:当mode为1时,ESP8266工作于s

2021-04-18 21:54:10 1213

原创 外设驱动库开发笔记26:nRF24L01无线通讯驱动

现在无线在我们的生活中无处不在。而我们开发的物联网产品也大量使用无线通讯。在这一篇文章中,我们将讨论nRF24L01无线通讯模块驱动程序的开发与实现。1、功能概述nRF24L01是一款工作在2.4~2.5GHz世界通用ISM 频段的单片无线收发器芯片无线收发器包括:频率发生器、增强型SchockBurst模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频道选择和协议的设置可以通过SPI 接口进行设置。其封装及引脚定义如下:1.1、工作模式nRF24L01无线通讯模块可以设置

2021-04-04 22:09:42 1406

原创 步进电机驱动技术1:基于TMC2660的步进电机驱动

步进电机的应用非常广泛,在各种设备中经常会遇到,而步进电机的驱动则是使用步进电机必不可少的部分,可以有多种方式来实现步进电机的驱动,在这里我们来考虑一下基于TMC2660驱动芯片的步进电机驱动。1、功能概述TMC2660是德国TRINAMIC公司产的步进电机驱动芯片。TMC2660驱动器提供了业界领先的功能集,包括高分辨率微步、无传感器机械负载测量、负载自适应功率优化和低共振斩波操作。拥有标准SPI和STEP/DIR两种接口模式。集成功率MOSFET处理电机电流高达2.2A。集成的保护和诊断功能支持

2021-03-21 20:16:14 6810 8

原创 外设驱动库开发笔记25:FM25xxx FRAM存储器驱动

在我们的项目中,时常会有参数或数据需要保存。铁电存储器的优良性能和操作方便常常被我们选用。FM25xxx FRAM存储器就是我们经常使用到的一系列铁电存储器,这一篇我们将讨论FM25xxx FRAM存储器的驱动设计、实现及使用。1、功能概述FM25xxx FRAM存储器是非易失性存储器,采用了先进的铁电存储。铁电随机存取存储器或F-RAM是非易失性的,其读写操作与RAM类似。它提供了151年的可靠数据保留,同时消除了由串行闪存、EEPROM和其他非易失性存储器引起的复杂性、开销和系统级可靠性问题。

2021-03-07 16:43:05 5281 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 2134 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 2299 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 1901 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 4294 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 4057

原创 一个基于STM32实现的多组分气体分析仪项目

本篇将简要的总结一下一个基于STM32F412ZG实现的多组分气体分析仪的项目。简要描述该项目的软硬件设计及其验证。一、项目概述多组分气体分析仪是我公司近期研发的三个主要产品之一。采用模块化设计,可增减配置,可分析混合气体中的氧气、氢气、甲烷、丙烷等气体的组分。氧气可以采用顺磁氧传感器、电化学氧传感器两种;氢气传感器可采用热式氢气传感器;炭氢传感器采用远红外气体传感,可探测甲烷和丙烷。气体组分的分析要求能够快速反应,运行稳定,对硬件的要求比较高。二、硬件设计在硬件方面充分考虑系统应用的需求,

2020-12-06 20:56:31 1778

原创 一个简单的空气质量数据监测站项目

大气质量数据监测站用于测试空气质量监测及数据采集,实现野外或者室内空气质量的检测。并通过网络将数据上传到OneNet​显示。​1、项目概述本项目是一个定制项目,要求采集大气的压力、温度、湿度、PM25、位置等数据并上传到指定的后台服务器。但有时候因为没有条件或因为各种原因不能联网,则采用本地保存的方式,本地保存我们决定使用SD卡来实现。除此外,为了实现显式需求,还需要配套一些东西来实现隐式的需求,如实时时钟记录,上传联网方式的选择等。2、硬件设计本项目涉及到的硬件并不复杂,我们对其中几个实用

2020-11-29 20:19:39 758

原创 外设驱动库开发笔记19:BMP280压力温度传感器驱动

压力和温度监测在嵌入式系统开发中是非常常见的需求,特别是对环境大气压力和温度的检测需求就更常见了。我们一般都会选择一些封装较小操作比较方便的压力传感器。BMP280就是满足这一要求的器件。在这一篇中我们将设计并实现BMP280的驱动。1、功能概述BMP280是一款绝对压力传感器产品。BMP280是一款绝对的气压传感器,专为移动应用而设计。传感器模块采用极其紧凑的封装。其小尺寸和低功耗允许在诸如移动电话,GPS模块或手表的电池供电设备中实现。1.1、硬件接口BMP280基于博世经过验证的压阻式

2020-11-22 14:32:50 6321 1

原创 外设驱动库开发笔记18:MS5837压力变送器驱动

绝对压力的检测是常见的需求。在我们的系统中也常常会遇到。而MS5837压力传感器也是我们进场会采用的方案。在这篇里我们将讨论并实现MS5837压力传感器的驱动。1、功能概述MS5837压力传感器是一种可用于电路板上,适用于检测10-1200mbar压力范围的传感器,灵敏度非常高,理论上能够检测到0.01mbar的压力变化,实际使用过程中测试并无明显的变化。MS5837压力传感器采用I2C总线通讯,与MCU可以实现I2C通讯。硬件连接方式如下:MS5837压力传感器拥有5类基本命令:复

2020-11-15 14:16:18 1465

原创 通讯接口应用笔记1:RS485通讯上下拉电阻的选择

RS485是一种常见的通讯接口方式,在我们的实际产品中也是多次使用。但我们平常并不会去过多考虑某一实现的细节问题,不过最近我们遇到了一个因如上下拉电阻的选择问题而造成的通讯故障,所以在这一片中我们来讨论一下RS485总线上下拉电阻的选择问题。1、出现的问题前段时间在调试多个站点的Modbus通讯的时候出现了一个问题。在拥有6个节点的RS485总线上,主站发送给从站的报文能够成功接收,从站返回的报文主站却是接收不到。后来额外添加了上拉下拉电阻后,通讯恢复正常。这让我们注意到,上下拉电阻的选择对RS48

2020-11-08 13:31:03 7426

原创 外设驱动库开发笔记17:MS5803压力变送器驱动

很多时候我们需要检测被控对象的绝对压力,而且在我们的多款产品中也有这样的需求。当然检测绝对压力的传感器有很多,我们经常使用MS5803来实现压力检测。本篇中我们将设计并实现MS5803系列压力传感器的驱动。1、功能概述MS5803系列产品包含压阻传感器和传感器接口IC。MS5803系列压力传感器的主要功能是将未补偿的压阻压力传感器的模拟输出电压24位数字值,以及提供一个24位数字值的温度传感器。1.1、硬件描述MS5803系列压力传感器是新一代高分辨率高度计传感器,它是为高度计和高度分辨率为

2020-11-01 20:38:09 3428 8

原创 外设驱动库开发笔记16:MS5536C压力变送器驱动

压力检测也是经常会遇到的需求,比如环境压力或者低压气体等都会用到压力检测。这类检测压力都比较低,一般不会超过大气压,有时甚至是负压。这一篇我们要讨论的MS5536C就属于这类器件。接下来我们将设计并实现MS5536C的驱动。1、功能概述MS5536C是一个系列的高分辨率工厂校准压力传感器。该设备包括一个压阻式压力传感器和一个ADC,采用三线SPI接口。该设备以16位数据字的形式提供数字压力和温度信息。其结构图如下:MS5536C包含压阻传感器和传感器接口IC。MS5536C的主要功能是将压阻

2020-10-25 20:29:03 1799 4

原创 外设驱动库开发笔记15:DHT11温湿度传感器驱动

与DS18B20一样DHT11也是采用单总线,但所不同的是DHT11可同时实现温度和湿度的检测。在我们的产品中经常使用它来检测环境的温湿度信息。这一篇我们将设计并封装DHT11的驱动程序,以方便重复使用。1、功能概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。1.1、硬件描述传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质

2020-10-18 17:59:13 4378 3

原创 Modbus协议栈应用实例之六:Modbus ASCII从站应用

自从开源了我们自己开发的Modbus协议栈之后,有很多朋友建议我针对性的做几个示例。所以我们就基于平时我们的应用整理了几个简单但可以说明基本的应用方法的示例,这一篇中我们来使用协议栈实现Modbus ASCII从站应用。1、何为ASCII从站我们知道Modbus协议是一个主从协议,所以就存在主站和从站之分。所谓ASCII从站,简单来说就是被动响应主站请求的站点,所以我们可以说ASCII从站就是响应通讯的一方。对于ASCII从站来说,它会生成数据,但他不会主动向外发送数据,只有当收到主站的数据请求

2020-10-11 20:47:28 2388

原创 Modbus协议栈应用实例之五:Modbus ASCII主站应用

自从开源了我们自己开发的Modbus协议栈之后,有很多朋友建议我针对性的做几个示例。所以我们就基于平时我们的应用整理了几个简单但可以说明基本的应用方法的示例,这一篇中我们来使用协议栈实现Modbus ASCII主站应用。1、何为ASCII主站我们知道Modbus协议是一个主从协议,所以就存在主站和从站之分。所谓主站,简单来说就是能够主动发起通讯的站点,所以我们可以说主站就是发起通讯的一方。对于ASCII主站来说,它的数据需要从从站获取,所以主站要通过通讯的方式与从站实现数据交流。在Modbus

2020-10-03 22:21:02 992

原创 外设驱动库开发笔记14:DS18B20温度变送器驱动

在一时候我们需要相对简单的检测温度信号,而DS18B20就是一款功能和应用都相对简单的温度传感器,通过单线就可以实现检测温度信号的需求。这一篇我们就来实现操作DS18B20获取温度数据的驱动。1、功能概述DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。单总线数字式温度传感器,由于具有结构简单,不需要外接电路,可用一根I/O数据线既供电又传输数据,可由用户设置温度报警界限等特点,近年来广泛用于粮库等需要测量和控制温度的地方。1.1、硬件

2020-09-27 15:27:42 1509

原创 Modbus协议栈应用实例之四:ModbusTCP服务器应用

自从开源了我们自己开发的Modbus协议栈之后,有很多朋友建议我针对性的做几个示例。所以我们就基于平时我们的应用整理了几个简单但可以说明基本的应用方法的示例,这一篇中我们来简述如何使用协议栈实现一个Modbus TCP服务器应用。1、何为TCP服务器Modbus协议是一个主从协议,那肯定就有主站和从站之分,在Modbus TCP中亦称之为客户端与服务器。所谓TCP客户端其功能基本与RTU主站一样,RTU主站会向从站发起数据请求,同样的TCP客户端也会向服务器发起请求。也就是说在Modbus TCP模

2020-09-19 15:18:43 3953

原创 Modbus协议栈应用实例之三:Modbus TCP客户端应用

自从开源了我们自己开发的Modbus协议栈之后,有很多朋友建议我针对性的做几个示例。所以我们就基于平时我们的应用整理了几个简单但可以说明基本的应用方法的示例,这一篇中我们将解说如何使用协议栈实现一个Modbus TCP客户端。1、何为TCP客户端Modbus协议是一个主从协议,那肯定就有主站和从站之分,在Modbus TCP中亦称之为客户端与服务器。所谓TCP客户端其功能基本与RTU主站一样,RTU主站回想从站发起数据请求,同样的TCP客户端也会向服务器发起请求。也就是说在Modbus TCP模式下

2020-09-12 15:18:44 7649

原创 外设驱动库开发笔记13:MLX90614红外温度传感器驱动

红外温度传感器一般用于非接触式的温度检测。在我们的系统中经常会有这样的需求。所以我们将其设计为通用的驱动库以备复用。这一篇我们将讲述MLX90614红外温度传感器驱动的设计与实现。1、功能概述MLX90614是一种红外温度计,用于非接触式温度测量。红外测温是根据被测物体的红外辐射能量来确定物体的温度,不与被测物体接触,具有不影响被测物体温度分布场,温度分辨率高、响应速度快、测温范围广、不受测温上限的限制、稳定性好等特点。MLX90614被测目标温度和环境温度通过IIC接口输出,适合于汽车空调、室内暖

2020-09-06 21:03:57 10302 9

QT实现的串口调试工具

一个使用QT实现的串口调试工具!

2022-06-19

ModbusExample.zip

包含一个Modbus TCP Server示例、一个Modbus RTU Slave示例、一个Modbus RTU Master示例的项目。

2021-08-26

Modbus RTU及ASCII主站与从站示例PModbus.zip

基于我们开源的Modbus协议栈实现的RTU模式和ASCII模式的主站与从站势力。采用IAR和MDK开发。

2020-09-23

Modbus TCP客户端和服务器示例

基于我们开源的Modbus协议栈实现的Modbus TCP客户端和服务器示例,使用VS2019开发。

2020-09-12

UML系统分析设计与应用案例

介绍了UML语言的基础知识以及UML在面向对象的软件系统分析和设计中的应用,并通过实例讲解了系统的面向对象分析与设计过程,以及如何用UML语言为系统建模。此外,还介绍了如何使用Rational Rose 2000中的前向工程和逆向工程。

2012-06-20

空空如也

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

TA关注的人

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