2

我正在使用 LinkSprite JPEG 彩色相机拍照。我从 UART 获取图片数据的十六进制值作为 C Sharp 中的字符串。相机的用户手册解释了图片的数据结构,以十六进制FFD8开头,以FFD9结尾。我得到的值符合这个描述。当我使用 ByteWriter 将此十六进制值保存到文件但输出文件无效并且我看不到图片时。如何将这些值转换为 JPEG 文件?

我正在使用基于 HCS12 微控制器的 DRAGON 培训板。我正在通过 UART 获取相机数据。我正在使用 C 在 DRAGON 板上编写代码。这是我的代码:

http://pastebin.com/dR4BJMBZ

相机信息:
http ://www.sparkfun.com/products/10061

用户手册:
http ://www.linksprite.com/upload/file/1333187137.pdf

我的 C# 代码:

http://pastebin.com/WXnTL7jd

4

1 回答 1

1

Olcay Ertaş,你说得对,它不是原始数据

我和我的朋友在使用我们的相机时遇到了同样的问题。和你一样,我们使用 UART 提取了十六进制数据,和你一样,我们没有看到图片。对我们来说,问题是使用记事本保存十六进制数据只会将其保存为 ASCII 字符串。(我们使用记事本保存原始数据)

以下是我们如何解决它:

  1. 我们使用了 XVI32 十六进制编辑器程序(免费)。
  2. 获取十六进制数据并将其从 FF D8 ... 复制到 FF D9。
  3. 使用程序将字符串插入新文件。
  4. 将文件另存为 .jpg 文件。

我希望它对你有用,就像对我们一样。

于 2012-06-28T13:52:13.390 回答