POSIX API
The file maintains flags that reflect errors encountered in the previous file access, and
subsequent accesses will fail (under certain conditions outlined here) unless these flags are
explicitly cleared (using fs_clearerr() ). There are actually two sets of flags. One reflects
whether the file encountered the end-of-file (EOF) during the previous access, and if this is
set, writes will not fail, but reads will fail. The other reflects device errors, and no
subsequent file access will succeed (except file close) unless this is first cleared. The
functions fs_ferror() and fs_feof() can be used to get the state of device error and
EOF conditions, respectively.
If file buffering is enabled ( FS_CFG_FILE_BUF_EN is DEF_ENABLED ), then input/output
buffering capabilities can be used to increase the efficiency of file reads and writes. A buffer
can be assigned to a file using fs_setbuf() or fs_setvbuf() ; the contents of the buffer
can be flushed to the storage device using fs_fflush() .
If a file is shared between several tasks in an application, a file lock can be employed to
guarantee that a series of file operations are executed atomically. fs_flockfile() (or its
non-blocking equivalent fs_ftrylockfile() ) acquires the lock for a task (if it does not
already own it). Accesses from other tasks will be blocked until a fs_funlockfile() is
called. This functionality is available if FS_CFG_FILE_LOCK_EN is DEF_ENABLED .
6-3-1 OPENING, READING & WRITING FILES
When an application needs to access a file, it must first open it using fs_fopen():
file pointer -->
p_file = fs_fopen(“\\file.txt”, <-- file name
“w+”); <-- mode string
if (p_file == (FS_FILE *)0) {
/* $$$$ Handle error */
}
The return value of this function should always be verified as non-NULL before the
application proceeds to access the file. The first argument of this function is the path of the
file; if working directories are disabled, this must be the absolute file path, beginning with
either a volume name or a ‘\’ (see section 4-3 “μC/FS File and Directory Names and Paths”
on page 62). The second argument of this function is a string indicating the mode of the
file; this must be one of the strings shown in the table below. Note that in all instances, the
‘b’ (binary) option has no affect on the behavior of file accesses.
87
相关PDF资料
AD-UCOS3-SPRD PRD LIC UCOS3 RTOS CORE CCES SGL
AD-UCUSBD-SPRD PRD LIC UCUSB DEV CORE CCES SGL
AD637-EVALZ BOARD EVALUATION FOR AD637
AD736-EVALZ BOARD EVALUATION FOR AD736
AD737-EVALZ BOARD EVALUATION FOR AD737
AD8007AKS-EBZ BOARD EVAL FOR AD8007AKS
AD8018ARU-EVAL BOARD EVAL FOR AD8018
AD8034ART-EBZ BOARD EVAL FOR AD8034ART
相关代理商/技术参数
ADuC-H7020 功能描述:开发板和工具包 - ARM HDR BRD FOR ADUC7020 ARM7 RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
ADuC-IO7020 功能描述:开发板和工具包 - ARM DEV BRD FOR ADUC7020 ARM7 RoHS:否 制造商:Arduino 产品:Development Boards 工具用于评估:ATSAM3X8EA-AU 核心:ARM Cortex M3 接口类型:DAC, ICSP, JTAG, UART, USB 工作电源电压:3.3 V
ADUCM3027BCBZ-R7 功能描述:LOWPWR CORTEXM3W/128KKEMBEDDED F 制造商:analog devices inc. 系列:* 零件状态:在售 标准包装:1,500
ADUCM3027BCBZ-RL 功能描述:LOWPWR CORTEXM3W/128KKEMBEDDED F 制造商:analog devices inc. 系列:* 零件状态:在售 标准包装:5,000
ADUCM3027BCPZ 功能描述:IC MCU 32BIT 128KB FLASH 64LFCSP 制造商:analog devices inc. 系列:ADuCM 包装:托盘 零件状态:在售 核心处理器:ARM? Cortex?-M3 核心尺寸:32-位 速度:26MHz 连接性:I2C,SPI,UART/USART 外设:DMA,POR,PWM,WDT I/O 数:44 程序存储容量:128KB(128K x 8) 程序存储器类型:闪存 EEPROM 容量:- RAM 容量:96K x 8 电压 - 电源(Vcc/Vdd):1.74 V ~ 3.6 V 数据转换器:A/D 8x12b 振荡器类型:内部 工作温度:-40°C ~ 85°C(TA) 封装/外壳:64-WFQFN 裸露焊盘 供应商器件封装:64-LFCSP(9x9) 标准包装:1
ADUCM3027BCPZ-R7 功能描述:IC MCU 32BIT 128KB FLASH 64LFCSP 制造商:analog devices inc. 系列:ADuCM 包装:剪切带(CT) 零件状态:在售 核心处理器:ARM? Cortex?-M3 核心尺寸:32-位 速度:26MHz 连接性:I2C,SPI,UART/USART 外设:DMA,POR,PWM,WDT I/O 数:44 程序存储容量:128KB(128K x 8) 程序存储器类型:闪存 EEPROM 容量:- RAM 容量:96K x 8 电压 - 电源(Vcc/Vdd):1.74 V ~ 3.6 V 数据转换器:A/D 8x12b 振荡器类型:内部 工作温度:-40°C ~ 85°C(TA) 封装/外壳:64-WFQFN 裸露焊盘 供应商器件封装:64-LFCSP(9x9) 标准包装:1
ADUCM3027BCPZ-RL 功能描述:IC MCU 32BIT 128KB FLASH 64LFCSP 制造商:analog devices inc. 系列:ADuCM 包装:带卷(TR) 零件状态:在售 核心处理器:ARM? Cortex?-M3 核心尺寸:32-位 速度:26MHz 连接性:I2C,SPI,UART/USART 外设:DMA,POR,PWM,WDT I/O 数:44 程序存储容量:128KB(128K x 8) 程序存储器类型:闪存 EEPROM 容量:- RAM 容量:96K x 8 电压 - 电源(Vcc/Vdd):1.74 V ~ 3.6 V 数据转换器:A/D 8x12b 振荡器类型:内部 工作温度:-40°C ~ 85°C(TA) 封装/外壳:64-WFQFN 裸露焊盘 供应商器件封装:64-LFCSP(9x9) 标准包装:2,500
ADUCM3029BCBZ-R7 功能描述:LOWPWR CORTEX M3W/256KEMBEDDED F 制造商:analog devices inc. 系列:* 零件状态:在售 标准包装:1,500