当前位置: 首页 > news >正文

PHY6222 基本文件操作

一. 初始化

        int hal_fs_init(uint32_t fs_start_address,uint8_t sector_num);

  • 功能描述​:此函数用于初始化文件系统,并且需要在系统初始化阶段进行设置。
  • 参数说明​:
    • fs_start_address:类型为 uint32_t,表示文件系统的起始地址。
    • sector_num:类型为 uint8_t,表示扇区数量。
  • 返回值类型​:int,可能用于返回初始化操作的结果状态(例如成功返回特定值,失败返回其他值,但代码中未明确具体返回值含义)。
#include "fs.h"#define FS_OFFSET_ADDRESS         0x11034000 //for 512KB Flash
#define FS_SECTOR_NUM             3
#define FS_SECTOR_NUM_BUFFER_SIZE  312/4// 初始化文件系统int fsInitResult = hal_fs_init(FS_OFFSET_ADDRESS, FS_SECTOR_NUM);if (fsInitResult != PPlus_SUCCESS) {LOG("Failed to initialize file system!\n");while (1); // 停止执行}// 格式化文件系统(如果需要)
//    int fsFormatResult = hal_fs_format(FS_OFFSET_ADDRESS, FS_SECTOR_NUM);
//    if (fsFormatResult != PPlus_SUCCESS) {
//        LOG("Failed to format file system!\n");
//        while (1); // 停止执行
//    }

二. 文件写操作

    int hal_fs_item_read(uint16_t id,uint8_t* buf,uint16_t buf_len,uint16_t* len);

    

功能描述

从 FS 文件读取数据

参数描述

  1. ​**id**​:
    • 类型​:uint16_t,即无符号 16 位整数。
    • 参数名​:id
    • 说明​:用于指定要写入数据的文件的唯一标识符。
  2. ​**buf**​:
    • 类型​:uint8_t*,即指向无符号 8 位整数的指针。
    • 参数名​:buf
    • 说明​:指向存储有待写入文件的数据的缓冲区的起始地址。
  3. ​**len**​:
    • 类型​:uint16_t,即无符号 16 位整数。
    • 参数名​:len
    • 说明​:表示 buf 所指向的缓冲区中有效数据的长度。

返回值描述

  • ​**PPlus_SUCCESS**​:当函数执行初始化相关操作(可能是为写入操作做准备的初始化)成功时,返回此值,表示写入操作的前期准备工作顺利完成。
// 定义要存储的数据uint8_t macAdr[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x01};uint8_t halVal = 0x01;// 定义文件ID(需要确保唯一性)uint16_t fileId = 0x0001;// 写入数据到文件int writeResult = hal_fs_item_write(fileId, (uint8_t*)&macAdr, sizeof(macAdr));if (writeResult != PPlus_SUCCESS) {LOG("Failed to write MAC address to file!\n");while (1); // 停止执行}else{LOG("write MAC address to file success!\n");}// 写入HAL值到文件writeResult = hal_fs_item_write(fileId + 1, &halVal, sizeof(halVal));if (writeResult != PPlus_SUCCESS) {LOG("Failed to write HAL value to file!\n");while (1); // 停止执行}else{LOG("write HAL value to file success!\n");}

三. 读操作

int  hal_fs_item_read(uint16_t id,uint8_t* buf,uint16_t buf_len,uint16_t* len);

功能描述

该函数 hal_fs_item_read 的作用是从文件系统(FS)中读取指定文件的数据。

参数描述

  • uint16_t id:表示要读取的文件在文件系统中的唯一标识符(id),通过该 id 来定位具体的文件。
  • uint8_t* buf:指向一个缓冲区的起始地址,读取到的文件数据将被存储到这个缓冲区中。
  • uint16_t buf_len:指定了上述缓冲区的起始长度,即缓冲区可用于存储数据的最大长度。
  • uint16_t* len:这是一个指针变量,用于返回实际从文件中读取到的数据的长度。函数执行完毕后,该指针所指向的内存位置将存储实际读取的字节数。

返回值

  • PPlus_SUCCESS:当函数成功从文件系统读取数据时,返回此值,表示初始化(这里可能是指文件读取相关的初始化操作)成功。
// 定义缓冲区用于读取数据uint8_t readMacAdr[6];uint8_t readHalVal;uint16_t readLength;uint16_t i;// 读取MAC地址int readResult = hal_fs_item_read(fileId, readMacAdr, sizeof(readMacAdr), &readLength);if (readResult != PPlus_SUCCESS || readLength != sizeof(macAdr)) {LOG("Failed to read MAC address from file!\n");while (1); // 停止执行}else{for(i = 0; i < readLength; i++){LOG("mac[%d]:%d:", i, readMacAdr[i]);}LOG("\n");}// 验证MAC地址
//    if (osal_memcmp(macAdr, readMacAdr, sizeof(macAdr)) != 0) {
//        LOG("MAC address verification failed!\n");
//        while (1); // 停止执行
//    }// 读取HAL值readResult = hal_fs_item_read(fileId + 1, &readHalVal, sizeof(readHalVal), &readLength);if (readResult != PPlus_SUCCESS || readLength != sizeof(halVal)) {LOG("Failed to read HAL value from file!\n");while (1); // 停止执行}// 验证HAL值if (halVal != readHalVal) {LOG("HAL value verification failed!\n");while (1); // 停止执行}else{LOG("read halVal: %d\n", readHalVal);}

相关文章:

  • 2023ICPC杭州题解
  • 设计模式——组合设计模式(结构型)
  • Spring如何实现组件扫描与@Component注解原理
  • 【Hexo】4.Hexo 博客文章进行加密
  • ArcGIS Pro 创建渔网格网过大,只有几个格网的解决方案
  • 智能制造之精读——RPA制造行业常见场景【附全文阅读】
  • STM32F407寄存器操作(ADC非连续扫描模式)
  • python打卡day42@浙大疏锦行
  • Adobe LiveCycle ES、LiveCycle DS 与 BlazeDS 关系解析与比较
  • java ExecutorService线程池使用(ExecutorService/Completable异步+ExecutorService线程池)
  • MATLAB实战:人脸检测与识别实现方案
  • vue3动态路由的实现以及目录权限的设置
  • 湖北理元理律师事务所:个人债务管理的温度与精度
  • C++输入与输出技术详解
  • LeetCode 热题 100 208. 实现 Trie (前缀树)
  • 机器学习算法-逻辑回归
  • 【计算机系统结构】习题2
  • Python进阶与常用库:探索高效编程的奥秘
  • 基于TMC5160堵转检测技术的夹紧力控制系统设计与实现
  • Linux Windows之wsl安装使用简介
  • 政务服务 网站 建设方案/他达拉非片和伟哥区别
  • 肇庆新农村建设内容在哪个网站/10000个免费货源网站
  • 做那种的视频网站有哪些/长春百度推广排名优化
  • 自己做的网站网页滑动不/脚本外链生成工具
  • 做外贸如何浏览国外网站/优化师助理
  • 网站收录提交入口网址/网络优化工程师工作内容