STM32+FATFS文件系统连续在同一个txt文件里写入内容

发布者:MysticalGarden最新更新时间:2018-08-21 来源: eefocus关键字:STM32  FATFS  文件系统 手机看文章 扫描二维码
随时随地手机看文章

移植好fatfs文件系统之后,我们经常要在一个txt文件下写入数据,但是这些数据可能需要多次写入,那怎么办呢?

通过这几天的学习,有以下函数可以帮助我们进行多次写入数据。

1.打开文件

f_open(filescr2, "0:/201711022.txt", FA_OPEN_DEFAULT);

2.写数据

f_write(filescr1, test_buff0, sizeof(test_buff0), &bw1);

3.关闭文件

f_close(filescr1);//一定要关闭

第二次写入数据


1.打开文件

f_open(filescr2, "0:/201711022.txt", FA_OPEN_DEFAULT);

2.按照文件现有大小移动指针

f_lseek(filescr1,filescr1->fptr+filescr1->fsize);

3.写数据

f_write(filescr1, test_buff0, sizeof(test_buff0), &bw1);

4.关闭文件

f_close(filescr1);//一定要关闭

其实,多次写入的时候就是需要将指针移动,这样的h我们就可以根据自己的需求进行在相同文件内连续写入数据了。但是如果要在指定行进行修改就比较麻烦了,就需要计算指针移动的位置,者相比于面向对象的编程语言而言要麻烦的多。


关键字:STM32  FATFS  文件系统 引用地址:STM32+FATFS文件系统连续在同一个txt文件里写入内容

上一篇:STM32利用SPI读写SD卡的程序详解
下一篇:stm32的定时器使用方法

推荐阅读最新更新时间:2024-03-16 16:11

STM32开发设计中FSMC可能遇到问题应对方案
本文将就使用FSMC可能遇到的问题进行说明。希望能对大家的学习有所帮助。 一、端口配置 1、 由于FSMC写NOR时序与8080接口的时序十分相识,因此我们采用模拟8080时序, 2、 STM32的引脚图如图所示。 3、根据上图我们可以得出,FSMC的数据端口D 如下 4、我们使用的是 FSMC 的信号线 NE1 作为控制 8080 的 CSX 片选信号,所以我们把本成配置为 FSMC_Bank1_NORSRAM1 (NE1 片选BANK1)。由上图得FSMC-NE1 ==PD7 ---------LCD-CS 5、数据地址的选择 本成员用于设置 FSMC 接口的数据宽度,可被设置为 8Bit 或 16b
[单片机]
<font color='red'>STM32</font>开发设计中FSMC可能遇到问题应对方案
stm32编码器的接口模式
编码器是什么玩意呢,它可是一个好玩的东西,做小车测速必不可少的玩意,下面,我将从编码器的原理讲起,一直到用stm32的编码器接口模式,测出电机转速与方向。 1.编码器 图1 编码器示意图 图1为编码器的示意图,中间是一个带光栅的码盘,光通过光栅,接收管接收到高电平,没通过,接收到低电平。电机旋转一圈,码盘上有多少光栅,接受管就会接收多少个高电平。371电机中的码盘就是这样的,他是334线码盘,具有较高的测速精度,也就是电机转一圈输出334个脉冲,芯片上已集成了脉冲整形触发电路,输出的是矩形波,直接接单片机IO就OK。 增量式旋转编码器通过内部两个光敏接受管转化其角度码盘的时序和相位关系,得到其角度码盘角度位移
[单片机]
<font color='red'>stm32</font>编码器的接口模式
STM32的DMA多通道多数据AD转换
描述:用ADC连续采集11路模拟信号,并由DMA传输到内存。ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ。在每次转换结束后,由DMA循环将转换的数据传输到内存中。ADC可以连续采集N次求平均值。最后通过串口传输出最后转换的结果。 程序如下: #i nclude stm32f10x.h //这个头文件包括STM32F10x所有外围寄存器、位、内存映射的定义 #i nclude eval.h //头文件(包括串口、按键、LED的函数声明) #i nclude SysTickDelay.h #i nclude UART_INTERFACE.h #i nclude #define N 50 //每通道采50次 #defi
[单片机]
关于STM32主存储块擦除编程操作的一些疑问
1.为什么每次都要检查BSY位是否为0? 因为BSY位为1时,不能对任何FPEC寄存器执行写操作,所以必须要等BSY位为0时,才能执行闪存操作。 2.如果没有擦除就进行编程,会出现什么结果? STM32在执行编程操作前,会先检查要编程的地址是否被擦除,如果没有,则不进行编程,并置FLASH_SR寄存器的PGERR位为1。唯一例外的是,当要编程的数据为0X0000时,即使未擦除,也会进行编程,因为0X0000即使擦除也可以正确编程。 3.为什么操作后要读出数据并验证? STM32在某些特殊情况下(例如FPEC被锁住),可能根本就没有执行所要的操作,仅通过寄存器无法判断操作是否成功。所以,保险起见,操作后都要读出所
[单片机]
STM32学习笔记(八)---通讯基本知识
通讯的基本知识 一、通讯的分类 按数据传送的方式分 a. 串行通讯:按数据位形式一位一位地传输数据 b. 并行通讯:使用8、16、32及64根或更多的数据线进行传输 按数据通讯的方向分 a. 全双工:同一时刻,两个设备之间可以同时收发数据 b. 半双工:同一时刻,两个设备之间不能同时收发数据 c. 单工:任何时刻,只能进行单一方向通讯 按数据同步的方式分 a. 同步通讯:收发双方会使用同一时钟信号线,在时钟信号的驱动下双方进行协调,同步数据 b. 异步通讯:不使用时钟信号同步。 二、通讯速率 通信速率:通常以比特率(bitrate)表示,即每秒钟传输的二进制位数,单位为比特每秒(bit/s)
[单片机]
STM32单片机GPIO口的工作模式解析
STM32单片机的每组IO口都有4个32位配置寄存器用于配置GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR和GPIOx_PUPDR,2个32位数据寄存器用于配置输入和输出寄存器GPIOx_IDR和GPIOx_ODR,1个32位置位复位寄存器GPIOx_BSRR,1个32位锁定寄存器GPIOx_LCKR和2个32位复用功能选择寄存器GPIOx_AFRH和GPIOx_AFRL。 GPIO的输出状态可以配置为推挽或开漏加上上拉或下拉。输出数据既可以来自输出数据寄存器,也可以由其他外围寄存器发出。每组IO口的速度都是可以配置的,可以配置为25MHz,50MHz或是100Mhz。数据输入同样也有几种模式
[单片机]
<font color='red'>STM32</font>单片机GPIO口的工作模式解析
STM32输入输出模式理解
最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出 对于刚入门的新手,我想这几个概念是必须得搞清楚的,平时接触的最多的也就是推挽输出、开漏输出、上拉输入这三种,但一直未曾对这些做过归纳。因此,在这里做一个
[单片机]
<font color='red'>STM32</font>输入输出模式理解
STM32单片机FSMC模块的应用
一、基本概念 1.与非总线复用的16位SRAM接口 FSMC配置 SRAM存储器和NOR闪存存储器共用相同的FSMC存储块,所用的协议依不同的存储器类型而有所不同。 控制SRAM存储器,FSMC应该具有下述功能: 使用或禁止地址/数据总线的复用功能。 选择所用的存储器类型:NOR闪存、SRAM或PSRAM。 定义外部存储器的数据总线宽度:8或16位。 使用或关闭扩展模式:扩展模式用于访问那些具有不同读写操作时序的存储器。 正如配置NOR闪存存储器一样,用户必须按照SRAM存储器的数据手册给出的时序数据,计算和设置下列参数: ADDSET:地址建立时间 ADDHOLD:地址保持时间 DATAST:数据建立时间 二、例程 1.
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved