1622|4

1509

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【AT-START-F425测评】利用U盘文件存储功能实现数据记录 [复制链接]

 

前面介绍了以U盘文件的读取功能来实现数码相框功能,这次说一下利用文件存储功能来充当数据记录装置。

当然要进行记录就必须有数据,其获取的方式可以是通过计时器来产生,也可以由传感器来获得,或是通过ADC来采集。

为便于测试,这里是将数据写到数组中,然后进行一次性写入。

所涉及的函数为usbh_user_application(),其内容为:

extern int8_t read_datp[32];

static usb_sts_type usbh_user_application(void)
{
  usb_sts_type status = USB_OK;
  FRESULT res;
  uint32_t len;
  uint8_t write_data[32] =
  {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x41,0x42,0x61,0x62};
  res = f_mount(&fs, "", 0);
  if(res == FR_OK)
  {
    if(f_open(&file, "0:AT32.txt", FA_CREATE_ALWAYS | FA_WRITE) != FR_OK)
    {
      USBH_DEBUG("Open AT32.txt failed");
    }
    else
    {
      res = f_write(&file, write_data, sizeof(write_data), &len);
      if(res != FR_OK || len == 0)
      {
        USBH_DEBUG("Write AT32.txt failed");
      }
      else
      {
        USBH_DEBUG("Write AT32.txt Success");
      }
      f_close(&file);
    }
  }
  return status;
}

 

经下载测试,在U盘中已生成一个文本文件AT32.txt,其内容如图1所示。

 

图1  U盘文件内容

 

在数据检测记录装置的设计中,其硬件构成如图2所示。

 

图2 硬件构成

 

在使用温度大气压传感器BMP085进行检测的情况下,其数据检测记录如图3所示。

 

图3 记录效果

 

实现该功能的功能函数为:

static usb_sts_type usbh_user_application(void)
{
  usb_sts_type status = USB_OK;
  FRESULT res;
  uint32_t len;
  uint8_t write_data[19] = {'t','=',0x32,0x30,'C',' ','p','=',0x31,0x30,0x32,0x34,'K','P','a',0xd,0xa};

  uint8_t read_data[32] = {0};
  uint8_t data[5] = {0};
  uint8_t datb[2] = {' '};
  uint16_t  i;
  res = f_mount(&fs, "", 0);
  if(res == FR_OK)
  {
    if(f_open(&file, "0:AT32.txt", FA_CREATE_ALWAYS | FA_WRITE) != FR_OK)
    {
      USBH_DEBUG("Open AT32.txt failed");
    }
    else
    {
      i=0;
      data[5]=' ';
      res = f_write(&file, datb, sizeof(datb), &len);
      // 键控采集
           while(gpio_input_data_bit_read(GPIOA, GPIO_PINS_0)==0)
           {
                bmp085Convert();
                data[0] = i/1000+'0';
                data[1] = (i%1000)/100+'0';
                data[2] = (i%100)/10+'0';
                data[3] = i%10+'0';
                res = f_write(&file, data, sizeof(data), &len);
                res = f_write(&file, write_data, sizeof(write_data), &len);
                usb_delay_ms(1000);
                i++;
      }
      f_close(&file);
    }
    f_mount(NULL, "", 0);
  }
  return status;
}

 

此外,利用U盘写入功能还可以构建软字库,其测试效果见图4所示。在显示界面中,“鸿雁”2字是通过读取字库来实现的,而单个“鸿”字则是通过读取U盘来实现的。

 

图4 汉字显示

 

由此可知,AT-START-F425开发板的文件读写功能实在是强大!

最新回复

这片子的USB开发麻烦吗、   详情 回复 发表于 2022-5-7 16:14
点赞 关注
 
 

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

看楼主对AT-START-F425开发板的文件读写测试,感觉是比较厉害

点评

这是AT-START-F425的特色嘛,应该重视和体验。  详情 回复 发表于 2022-5-3 21:10
 
 
 

回复

1509

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 
Jacktang 发表于 2022-5-3 09:54 看楼主对AT-START-F425开发板的文件读写测试,感觉是比较厉害

这是AT-START-F425的特色嘛,应该重视和体验。

 
 
 

回复

7608

帖子

18

TA的资源

五彩晶圆(高级)

4
 

这片子的USB开发麻烦吗、

点评

个人觉得比较好用,与CH32V103差不多。  详情 回复 发表于 2022-5-8 10:10
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

1509

帖子

1

TA的资源

五彩晶圆(初级)

5
 
freebsder 发表于 2022-5-7 16:14 这片子的USB开发麻烦吗、

个人觉得比较好用,与CH32V103差不多。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表