自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 FatFs文件系统的使用技术和移植方法总结

最近想探索一下文件系统-FATFS相关的一些知识,于是乎收集了相关资料,将其总结在下。一、介绍一下FATFS    FatFs是一个通用的文件系统(FAT/exFAT)模块,用于在小型嵌入式系统中实现FAT文件系统。    其特点如下:    (1)DOS/Windows兼容的FAT/exFAT文件系统    (2)平台独立性,容易使用    (3)程序代码量少,占用资源低    (4)配置参数丰富,配置详情可参考官方网站FatFs - Generic FAT Filesys

2022-03-14 16:25:34 643

原创 使用回调函数,降低模块之间的耦合程度

一、前言耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。编写代码有两个核心点:隔离变化、降低复杂度,而解耦是达到这两个目标的重要手段。关于回调函数两篇不错的文章:二、使用回调函数降低耦合问题描述:实现回家函数come_home,传入出发的时间,打印回家的方式以及到家的时间,有两种回家方式:开车、走路。其中开车需要1小时,走路需要3小时。功能分析:由于回家方式不同,所用时间不同,因此到家的时间不同,可以将co

2022-03-08 19:29:16 305

原创 示波器(ADC)的采样率

示波器的原理简单来说就是一个ADC转换,然后根据采集的不同电压在屏幕上显示出来。今天就是说说示波器采样率到底是怎么回事。1、举例描述采样率1.存储深度想象一下一张照片要怎么样才能清晰?当然是像素点越多,照片包含的原始信息就越接近真实,自然看起来也就越清晰。我们从示波器上看到的波形其实也可以理解成一张照片,那么这张照片包含的点越多,自然也就越接近真实的样子。示波器的存储深度就是表达了示波器最多能存储多少个数据点。比如28Mpts的存储深度,说明示波器最多可以存储两千八百万个

2022-03-06 13:56:25 3157

原创 高速波特率串口通信软件设计方法

1 前言直接存储器访问(Direct Memory Access),简称DMA。DMA是CPU一个用于数据从一个地址空间到另一地址空间“搬运”(拷贝)的组件,数据拷贝过程不需CPU干预,数据拷贝结束则通知CPU处理。因此,大量数据拷贝时,使用DMA可以释放CPU资源。DMA数据拷贝过程,典型的有: 内存—>内存,内存间拷贝 外设—>内存,如uart、spi、i2c等总线接收数据过程 内存—>外设,如uart、spi、i2c等总线发送数据过程 2 串口有

2022-03-06 13:54:59 1060

原创 嵌入式软件可靠性设计的编程要点

嵌入式软件可靠性设计的编程要点简介1、判错2、判断实参是否合法3、仔细检查函数的返回值4、防止指针越界5、防止数组越界6、数学算数运算7、其他可能出现运行时错误的地方8、编译器语义检查9、关键数据多区备份,取数据采用“表决法”10、非易失性存储器的数据存储11、软件锁12、通信数据的检错13、开关量输入的检测、确认14、开关量输出15、初始化信息的保存与恢复16、while循环17、系统自检18、其他一些编程建议简介设备的可靠性涉及多个方面:稳定的硬件、优秀的软件架构、严格的测试以及市场和时间的检验等等

2021-08-24 19:39:00 344

原创 STM32命名规则

2021-05-26 21:00:15 165

原创 STM32分类

2021-05-26 20:58:55 435

原创 模拟量传输4-20ma电流

大家可能会非常熟悉RS232,RS485,CAN等工业上常用的总线,他们都是传输数字信号的方式。那么,我们用什么方式来传输模拟信号呢?工业上普遍需要测量各类非电物理量,例如温度、压力、速度、角度等,这些都需要转换成模拟量电信号才能传输到几百米外的控制室或显示设备上。工业上最广泛采用的是用4~20mA电流来传输模拟量。采用电流信号的原因是不容易受干扰,因为工业现场的噪声电压的幅度可能达到数V,但是噪声的功率很弱,所以噪声电流通常小于nA级别,因此给4-20mA传输带来的误差非常小;电流源内阻趋于无穷.

2020-08-02 16:52:32 8693

原创 PID算法通俗解释

啥是PID?PID,就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。算法是不可以吃的。PID已经有107年的历史了。它并不是什么很神圣的东西,大家一定都见过PID的实际应用。比如四轴飞行器,再比如平衡小车......还有汽...

2020-08-02 16:46:08 3964

原创 电力系统仿真算法

2020-07-04 19:49:52 697

原创 电力电子电路仿真二

2020-07-04 19:36:57 170

原创 电力电子电路仿真一

2020-07-04 19:29:40 267

原创 冯.诺伊曼结构与哈佛结构区别

一、冯.诺伊曼结构 1945年,冯.诺伊曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯.诺伊曼型结构”计算机。冯.诺伊曼结构的处理器使用同一个存储器,经由同一个总线传输,如下图所示:图 冯.诺伊曼结构冯.诺伊曼结构处理器具有以下几个特点:必须有一个存储器;必须有一个控制器;必须有一个运算器,用于完成算术...

2020-01-09 16:43:02 1438

原创 HAL库 EEPROM字符串读写

配置I2C 和串口串口的配置就不做详细介绍  1 #include "stm32f1xx_hal.h" 2 #include "Eeprom.h" 3 #include "string.h" 4 extern I2C_HandleTypeDef hi2c1; 5 /*------д×Ö·û´®µ½EEPROMÖÐ*/ 6 void I2C_eepWritePage(u...

2018-10-22 13:28:23 4227

转载 使用keil MDK5.23的CMSIS Driver层的USART驱动

前言 keil mdk自版本5以来,就主推使用包管理器来灵活开发应用。推出了Management Run-Time Environment。用户在新建工程的时候,可以根据项目需要,选择组件。简单的说就是,ARM推出这些标准,旨在用户快速开发的自己的应用程序,无需用户关心底层的逻辑实现。因此,我们尽可放心使用。 一、创建工程 新建工程时选择目标设备芯片,然后弹出的运行环境管理窗口,开始选

2017-08-22 06:03:16 1984

原创 数组指针与指针数组

int   *a[10] :指针数组,数组a里存放的是10个int型指针 int (*a)[10] :数组指针,a是指针,指向一个数组,此数组有10个int型元素 int   *a[10] 先找到声明符a,然后向右看,有[]说明a是个数组,再向左看,是int *,说明数组中的每个元素是int *。所以这是一个存放int指针的数组。 int (

2017-06-24 22:16:25 151

原创 sizeof和strlen的区别

1、sizeof和strlen的区别(1)sizeof是一个操作符,strlen是库函数(2)sizeof的参数可以是数据的类型,也可以是变量,strlen只能是以“\0”结尾的字符串(3)sizeof是在编译时运算出结果,strlen是运行时调用函数计算出结果(4)sizeof计算的是数据类型或者变量所占的内存大小,strlen计算的是字符串的实际长度。(5)数组做sizeo

2017-06-24 19:23:34 1535

原创 malooc和new的区别

1、在C中的malloc和C++中的new有什么区别(1)new、delete是操作符,可以重载,只能在C++中使用(2)malloc和free是函数,可以覆盖,C、C++中都可以使用(3)new可以调用对象的构造函数,对应的delete可以调用相应的析构函数(4)malloc仅仅分配内存,free仅仅回收内存,并不执行构造和析构函数(5)new、delete返回的是某种数据类

2017-06-24 19:15:36 469

原创 关于static静态变量的几个问题

1、C语言中的关键字static和C++中的关键字static有什么区别在C中static用来修饰局部静态变量和外部静态变量、函数。而C++中除了上述功能外,还可以用来定义类的成员变量和函数,即静态成员和静态成员函数。2、static变量的作用1)static变量有2个特性,全局性和记忆性2)在函数体内,一个被声明为静态的变量在这一函数被调用的过程中其值维持不变3)在模块内(但

2017-06-24 18:31:30 2672

空空如也

空空如也

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

TA关注的人

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