zoukankan      html  css  js  c++  java
  • zynq之TF卡写入函数f_printf

    zynq之TF卡写入函数f_printf

    1、基本原理

    前面使用f_write写入了数据到TF(SD)卡中,可以实现较短字符串的写入。当字符增加时,容易出现乱码。而f_printf则是专门用于字符串写入的函数,支持整型和字符型数据的写入,可以提高数据写入的灵活性和便捷性。

    2、实验操作

    要使用f_printf,首先要对ff.h文件进行设置,才能正常使用f_printf函数。注意不是fprintf,这个函数是C语言的系统函数,不能直接用于SD卡的写入。在vitis中设置ff.h文件如下(包括勾选ff.h):

    首先在src(创建主函数的地方)文件夹的下方找到prj为后缀的文件,双击打开。

    opinions中有一个Navigate to BSP Setting的选项,双击打开。

    在board support package中双击Modify BSP Setting

    在出现的弹窗中勾选xilff.h文件

    在左侧xilffs中将use_strfunc的值改为2(反正不为0,其他值没有测试)

    注意,这里有两个board support package(一个是fsbl的,一个是ps7_cortexa9_0的,两个都设置ff.h的use_strfunc值)

    操作完成后可以依次查看两个设置的值是否完成。

    int Sd_Test2_Write()
    {
    FIL fil;
    FRESULT rc;
    int x=0;
    if(rc)
    {
        ;
    }
    rc = f_open(&fil,"printf2.txt", FA_OPEN_ALWAYS | FA_WRITE);
    f_printf(&fil,"x= %d
    ",x);
    x+=1;
    f_printf(&fil,"x= %d
    ",x);
    rc = f_close(&fil);
    }

    简易的测试函数

    最后可以向TF卡写入

    x=0

    x=1

    3、分析总结

    f_printf和C语言中的printf十分相似,可以灵活写入数据。

  • 相关阅读:
    删除链表中的一个节点
    链表系列面试题1
    线程的5种状态
    红黑树 实现
    Java的SPI机制浅析与简单示例
    socket原理
    rabbitmq简单介绍
    MongoTemplate操作mongodb
    RJava配置
    浅析前后台分离
  • 原文地址:https://www.cnblogs.com/electricdream/p/13412496.html
Copyright © 2011-2022 走看看