|
楼主 |
发表于 2015-7-21 21:33:32
|
显示全部楼层
) x) e6 U* N9 Y5 G" N" l
思路上有一些帮助,但没有照抄。因为GRBL的整个太复杂了, 我也看过,觉得做底层的移植主要是中断和寄存器改一下没有意思了。我的做法是电脑端传过来是CHAR型,,格式是一个字母后面必有一个数字,只需要提取出来数值就可以了,。一行命令,一个结构体就全存下了。其它的事就是运行该行命令,1 _% ~# b& e9 I' }$ _. N7 |
我直接把G代码分了9类。有些不常用的就先没有实现,直接默认一个就OK(比如英制G20,公制G21 只管设一个G21为初始默认)。。主要写对应的几个重要函数就OK了。重要的就只有G0、G1、G2、G3,。。简单的运动控制只需要这些,有这几个其实大多数的G代码就可以跑了。试想一下,调速也是一个多简单的事。我之前用的延时来完成调速,后来改成定时中断(但感觉中断也没有多大的性能进步)。
5 s+ {+ \0 T; i7 O; q+ S
7 u- {$ B0 ? p# C8 O3 g% @: U$ _
7 p. n9 h* n+ M) K0 L& p! _7 C1 G- L @
) y5 W# B% z+ g0 R1 R6 ?2 I: f
% C) W' s+ }! W |
|