久芯网

stm32上的数据压缩

avatar zz52zz 提问时间: 2023-09-26 21:08:44 / 未解决
求助一下各位大佬,现在需要在stm32上实现数据压缩,然后传输到电脑上再进行无损解压,求推荐!!stm32上的数据压缩 [相关图片]

如需获得 stm32 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

6个回答
  • avatar 奏奏奏
    回答时间: 2023-09-26 21:41:31

    首先明确一下被压缩的对象是什么? 没有任何格式的数据随机的一串16进制数据, 还是类似STM32编译后生成的.hex这类有固定格式规范的数据? 如果是前者,我觉得由STM32系列MCU来做不合适,但是STM32系列的MPU可以(STM32MP1系列跑 Linux系统), 如果是后者,利用固定格式的规律可以压缩一部分数据,只要STM32系列MCU就可以了。

  • avatar Dandjinh
    回答时间: 2023-09-26 22:14:29

    miniLZO, 占用64K RAM

  • avatar zz52zz
    回答时间: 2023-09-26 22:45:04
    Dandjinh 发表于 2020-7-13 08:49
    miniLZO, 占用64K RAM

    您好,感谢您的建议,我对minilzo已经有了一点了解,现在的问题是minilzo对压缩数据的长度要求很精确,对于我实时压缩而言,我怎么得到压缩前后的数据长度呢?感谢您的指点!

  • avatar zz52zz
    回答时间: 2023-09-26 23:17:40
    Dandjinh 发表于 2020-7-13 08:49
    miniLZO, 占用64K RAM

    感谢您的建议,我已经对minilzo有了一定程度的了解,minilzo对数据压缩前后的长度要求很精确,那么对于我单片机实时压缩而言,我怎么样才能获得数据压缩前后的长度呢?感谢您的帮助!

  • avatar Dandjinh
    回答时间: 2023-09-26 23:48:26
    zz52zz 发表于 2020-7-13 08:58
    感谢您的建议,我已经对minilzo有了一定程度的了解,minilzo对数据压缩前后的长度要求很精确,那么对于我 ...

    压缩前你不知道总长吗?压缩后有个最大大小的,比压缩前的大小大一点。

  • avatar 废鱼
    回答时间: 2023-09-27 00:18:17

    楼主你好,如果做试试压缩,我感觉还不如不做。数据压缩肯定是要数据多时进行一次压缩。一个字节压缩反而会导致压缩后的数据增大。楼主可以考虑将数据放入到缓冲区中,当缓冲区满了以后或者即将满时进行一次压缩后,再把数据放入到指定位置。但这样解压缩时会出现问题。压缩完毕后,马上把数据发给上位机,这样使用应该是比较合理的。

会员中心 微信客服
客服
回到顶部