如何将pdf数据发送到微控制器

Posted

技术标签:

【中文标题】如何将pdf数据发送到微控制器【英文标题】:how to send pdf data to a microcontroller 【发布时间】:2015-05-07 08:04:46 【问题描述】:

我正在制作一台 CNC 激光 pcb 制造机,我想使用布局的 pdf 文件并将其串行发送到微控制器(avr),以便它可以控制两个步进器和激光二极管。我不确定如何发送 pdf 数据或如何解码。有人可以向我提供链接或建议,让我了解 pdf 的工作原理以及如何在我的应用程序中使用数据吗? 如果我想让界面像打印机一样单击打印选项,我的机器将打印 pcb,我需要做什么? 我不想使用任何软件,而是自己开发。 请帮忙 !谢谢。

【问题讨论】:

先看看pdf specification,然后哭泣。你想做的太复杂了,pdf里面的内容可以是任意排列的矢量图和位图。可能你最好的选择是光栅化 pdf 并使用一些通用库来矢量化图像。 @PauloSoares 你如何建议我继续? 谷歌“将位图转换为矢量”, 您说您正在制造 PCB - 您可以访问 gerber 文件格式的数据吗?这是一种更简单的矢量格式,更适合制造 (ucamco.com/files/downloads/file/81/…),您可以从 gerbv 项目中获取代码来解析它们。 我建议你(就像@Jon 一样)使用矢量格式表示。如果您向 MCU 发送了位图,之后您必须将其转换为矢量,以将电机从 x,y 点驱动到 x1,y1 点...en.wikipedia.org/wiki/Gerber_format 【参考方案1】:

在 PC 上,您要打印的文档被发送到目标打印机的驱动程序,驱动程序将其转换为所选打印机可接受的格式。

打印机本身使用丰富的逻辑将可接受的输入流(Raw、PostScript、HP/PCL、EMF 等)转换为打印头运动(如果打印机有“头”)和色带/墨水/激光行动。

因此,从架构的角度来看,您需要考虑以下几点:

打印机端:

我的打印机(需要)理解哪些命令将打印头放在 XY 中并掉落一块塑料 我可以重复使用现有的任何东西吗?我是否可以为它获取文档

PC端:

我有哪些数据源(例如 PDF) 打印机驱动程序必须能够将数据源转换为打印机可以理解的内容

如果您不想为 PC 开发打印机驱动程序,您可能会被 PCB 打印机的PCL(约 370 页)或PostScript(约 900 页)困住,这是一个公平的机会普通的 HP 或 PostScript 打印机驱动程序将为您工作。

如果您不介意为 PC 编写打印机驱动程序,则必须将应用程序文档转换为打印机可以理解的格式(去 XY、drop Z、movery 等)...所以您必须与应用程序文档相关联具有良好记录的数据格式。

【讨论】:

以上是关于如何将pdf数据发送到微控制器的主要内容,如果未能解决你的问题,请参考以下文章

C#,需要从微控制器接收数据

我可以使用Visual Studio从多个微控制器读取数据吗?

在 Atmel SAMD21J18A 微控制器中查找剩余的闪存大小?

将 BLE 模块连接到微控制器

如何在微控制器硬件复位之前保存一些数据?

用CAN总线对STM32微控制器编程的问题