You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FRDM RW612板写入日志文件并在其他设备取回数据?

FRDM RW612 室温长期采集方案求助

我正在FRDM RW612板上开展开发工作,现有一段可连续多日测量室温的代码,脚本运行正常但无法采集到有效数据。之前尝试用minicom --capturefile通过串口采集数据,但没有设备能长期监听RW612板。我更倾向于在RW612板上生成文件后后续取回,恳请提供可行的数据采集方案思路。

当前温度测量代码

//Homework 4 Seaver Olson
#include "pin_mux.h"
#include "clock_config.h"
#include "board.h"
#include "fsl_device_registers.h"
#include "fsl_debug_console.h"

float DEMO_MeasureTemperature(void);

float DEMO_MeasureTemperature(void)
{
    uint16_t tempRawValue = 0U;

    if (0UL == ((SENSOR_CTRL->MISC_CTRL_REG & SENSOR_CTRL_MISC_CTRL_REG_TIMER_1_ENABLE_MASK) >>
                SENSOR_CTRL_MISC_CTRL_REG_TIMER_1_ENABLE_SHIFT))
    {
        SENSOR_CTRL->MISC_CTRL_REG |= SENSOR_CTRL_MISC_CTRL_REG_TIMER_1_ENABLE_MASK;
    }

    tempRawValue = (((SENSOR_CTRL->TSEN_CTRL_1_REG_2) & SENSOR_CTRL_TSEN_CTRL_1_REG_2_TSEN_TEMP_VALUE_MASK) >>
                    SENSOR_CTRL_TSEN_CTRL_1_REG_2_TSEN_TEMP_VALUE_SHIFT);

    return (tempRawValue * 0.480561F - 220.7074F);
}


int main(void)
{
    BOARD_InitBootPins();
    BOARD_InitBootClocks();
    BOARD_InitDebugConsole();
    // 60 x 24
    for (int i = 0; i < 5760; i++) {
        double temp = ((double)DEMO_MeasureTemperature());
        PRINTF("%d: %.3f\n", i, temp);
        for (int j = 0; j < 30; j++){
        SDK_DelayAtLeastUs(1000000, CLOCK_GetCoreSysClkFreq());
    }
}
    return 0;
}

可行方案思路

1. 板载/外接存储方案

  • 内部Flash存储:利用RW612的内部Flash,通过SDK提供的Flash驱动将温度数据按CSV格式写入预留的Flash扇区。注意Flash擦写寿命,可采用循环覆盖或分页存储策略,避免频繁擦写同一区域。后续通过调试接口或串口读取Flash中的数据。
  • 外接SPI Flash:通过SPI接口挂载小容量SPI Flash(如W25Qxx系列),集成FatFS文件系统,将数据写入文件。后续可通过SPI转USB模块读取Flash内容,或直接在板子上电后通过串口导出文件。
  • 外接SD卡:如果板子支持SD卡扩展(或通过GPIO模拟SPI驱动SD卡),使用FatFS管理SD卡,将温度数据写入CSV文件,后续直接取出SD卡读取数据。

2. 无线传输方案

  • BLE批量传输:利用RW612的BLE外设,实现GATT服务缓存温度数据。当手机或BLE网关连接时,批量传输缓存的历史数据;或定时唤醒设备,主动推送最新数据到配对设备,后续从设备导出数据。
  • Wi-Fi上传:外接Wi-Fi模块(如ESP8266),设备定时唤醒后连接Wi-Fi,将数据上传到本地服务器或云端存储,后续从服务器导出数据。

3. 温度采集代码修复建议

当前代码可能存在传感器初始化不完整的问题,导致无法采集有效数据:

  • 检查TSEN传感器的采样配置,确保已启用TSEN模块并设置合理的采样周期
  • 读取原始值前,等待TSEN采样完成标志位,避免读取未就绪的无效数据
  • 添加DEBUG打印输出tempRawValue原始值,排查是采样失败还是计算公式问题

内容的提问来源于stack exchange,提问作者Seaver Olson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:54:52