C语言
文章平均质量分 80
冬日黎明
生活除了苟且,还有你永远看不懂的诗和无法到达的远方!
展开
-
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 · 669 阅读 · 0 评论 -
使用回调函数,降低模块之间的耦合程度
一、前言耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。编写代码有两个核心点:隔离变化、降低复杂度,而解耦是达到这两个目标的重要手段。关于回调函数两篇不错的文章:二、使用回调函数降低耦合问题描述:实现回家函数come_home,传入出发的时间,打印回家的方式以及到家的时间,有两种回家方式:开车、走路。其中开车需要1小时,走路需要3小时。功能分析:由于回家方式不同,所用时间不同,因此到家的时间不同,可以将co原创 2022-03-08 19:29:16 · 324 阅读 · 0 评论 -
示波器(ADC)的采样率
示波器的原理简单来说就是一个ADC转换,然后根据采集的不同电压在屏幕上显示出来。今天就是说说示波器采样率到底是怎么回事。1、举例描述采样率1.存储深度想象一下一张照片要怎么样才能清晰?当然是像素点越多,照片包含的原始信息就越接近真实,自然看起来也就越清晰。我们从示波器上看到的波形其实也可以理解成一张照片,那么这张照片包含的点越多,自然也就越接近真实的样子。示波器的存储深度就是表达了示波器最多能存储多少个数据点。比如28Mpts的存储深度,说明示波器最多可以存储两千八百万个原创 2022-03-06 13:56:25 · 3356 阅读 · 0 评论 -
高速波特率串口通信软件设计方法
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 · 1268 阅读 · 0 评论 -
嵌入式软件可靠性设计的编程要点
嵌入式软件可靠性设计的编程要点简介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 · 393 阅读 · 0 评论 -
使用keil MDK5.23的CMSIS Driver层的USART驱动
前言 keil mdk自版本5以来,就主推使用包管理器来灵活开发应用。推出了Management Run-Time Environment。用户在新建工程的时候,可以根据项目需要,选择组件。简单的说就是,ARM推出这些标准,旨在用户快速开发的自己的应用程序,无需用户关心底层的逻辑实现。因此,我们尽可放心使用。 一、创建工程 新建工程时选择目标设备芯片,然后弹出的运行环境管理窗口,开始选转载 2017-08-22 06:03:16 · 2020 阅读 · 0 评论