注释
@MeJasonT:由于这不是直接的 Grbl 问题,我将关闭此线程,但人们仍然可以响应您的请求。 |
谢谢桑尼 |
附带一提——我们什么时候才能得到一个指向和点击版本的 GRBL for M0,它仍然是编程兄弟会中的斗篷和匕首。 |
对于任何感兴趣的人。 `//=============================================== ===================== #include “RS485_protocol.h” // RS485 通信变量 /////////////////////////////////// 软件序列号 rs485 (2, 3);//接收引脚,发送引脚 常量字节 ENABLE_PIN = 4; 常量字节 LED_PIN = 13; // 解析 GRBL 消息变量 //////////////////////////////////////// 常量字节 numChars =71; //进给和速度变量 //覆盖变量 // 保存消息块的变量 char GRBL_msg1 [numChars] = {0}; 布尔新数据=假; //================================================ ============================ // 回调例程 RS485 Comms void fWrite (const byte what)
无效设置(){
} //设置结束 //============ 无效循环(){ 字节级=(数据);
} // 循环结束 //============ void recvWithStartEndMarkers() {
}// recvWithStartEndMarkers 结束 //============ void parseData() { // 将数据拆分成多个部分
//根据“|”解析成块 定界符
} //解析数据结束 //============ void outputParsedData()
//进给和速度 FS Message GRBL /////////////////////////////////////// /////////////// void ParseFS () //GRBL_msg4 包含 Feed & Speed 消息字符的数组
}//ParseFS结束 // 解析覆盖 Ov 消息 GRBL //////////////////////////////////////// ///////////////// void ParseOv_A ()
} // ParseOv_A 结束 // RS485 通讯命令结构 ////////////////////////////////////////// void DoBusComs ()
// 从从设备接收消息 // 不感兴趣 – 只有一种方式通信
// if (buf2 [0] != 0)//0 是 master
}// DoBusComs 结束 ` |
我不知道为什么它会显示这样的代码,但它就在那里 – 不像我 |
我使用了一些现有的工作并将其放入 arduino 库中 它将数据放入一个方便的结构中。您只需要将串行字符串传递给它。 |
我想知道是否有人可以为我编写一个基本的解析例程,让我在另一个 Arduino 上运行,它会嗅探来自 PC/Grbl 通信链路的数据,通过使用第二个 arduino,我可以从 grbl TX pin 接收返回消息 -这不影响 pc/grbl 控件的操作。
我目前能够读取返回字符串并通过 arduino IDE 串行监视器输出它。
我希望能够将数据解析为一个数组(块),这样我就可以操纵为主轴速度返回的值以及肥皂水/冷却剂泵的操作和主轴方向。我正在尝试在 grbl 和我的铣床电机变频驱动器之间建立一个接口。长话短说——来自 VFD 的高频噪声扰乱了 grbl 操作,我想通过 RS485 在嗅探信号的电路板和 VFD 之间传输命令。返回消息的美妙之处在于它告诉我功能何时执行,而不是何时排队,这是我从通信链接的另一端获得的信息。
能够做到这一点也将使那些希望为等离子台或任何其他项目构建火炬高度控制器的人受益,因为报告将是一个优势,因为它不可能从 grbl 提供任何进一步的资源以从第二个串行端口传输最大化内存,尤其是在 UNO 变体上。
除了解析消息字符串之外,我可以看到它的可能性并且能够做所有事情,我们将不胜感激。