国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 9587|回復(fù): 10

基于電子積木arduino(AVR)的G代碼解釋器原代碼

  [復(fù)制鏈接]
#
發(fā)表于 2012-8-6 19:48:27 | 只看該作者 |正序?yàn)g覽 |閱讀模式
基于電子積木arduino的G代碼解釋器原代碼,來源于http://arduino.cc/forum/搜CNC
8 ^; O# ^$ |6 _- @! b- v我去年收集了許多程序,經(jīng)過測試挑選出可以用,后來沒時間繼續(xù)研究學(xué)習(xí),現(xiàn)在發(fā)
; F1 H7 l; D. c上來給有用的朋友參考
7 g1 s# W9 O) K6 [9 ]+ _下面是其中的小段源碼# n- p& e, i- l+ R; ]6 i
//init our variables
5 q4 b9 ]1 \# |5 Ilong max_delta;
& l( r. V6 N  elong x_counter;
. Z" o% i* s- w" {* Hlong y_counter;. [5 }5 b7 c8 z
long z_counter;
! G; N6 s" u' ^# I5 I$ Ybool x_can_step;
' ?3 d0 c: K1 d% A3 t$ Fbool y_can_step;
6 H" r, V4 w: y  A- D! |bool z_can_step;
5 T8 x6 _0 u- jint milli_delay;+ e' `- Z- e6 V& N& Z
void init_steppers(): |9 g9 S, T; r( ?
{
/ p) ]# }; s0 k6 _7 u- X) W* R$ D* i //turn them off to start.
1 l' L& q% H9 b. E% V disable_steppers();
- X  }! S; A& [
. x9 ]7 p4 X+ {. s //init our points.& r) v& A; m5 i8 e: l
current_units.x = 0.0;
) W% O6 R9 z; F) K5 F6 d6 {3 n( K current_units.y = 0.0;
, r: ~) p' C' H' k current_units.z = 0.0;9 @1 W3 G; S4 p; e6 a
target_units.x = 0.0;
2 A: g( L$ c7 p5 \& D6 P0 b; [ target_units.y = 0.0;* v/ F) w; Y' L; p
target_units.z = 0.0;7 f+ n  i7 B, x/ `
  q0 S1 `) V! m0 l
pinMode(X_STEP_PIN, OUTPUT);
, j7 k- I. D$ o: f# U  W pinMode(X_DIR_PIN, OUTPUT);
& q& `$ m6 L4 T5 E pinMode(X_ENABLE_PIN, OUTPUT);- ~) g' [0 y) ]+ N' _& E
pinMode(X_MIN_PIN, INPUT);
2 J+ c, }7 x( o! @6 @' B pinMode(X_MAX_PIN, INPUT);. R4 D6 D# h2 W6 u

' V2 H3 k( M" g- J( A pinMode(Y_STEP_PIN, OUTPUT);; p' w# y. K3 x$ v( F  }
pinMode(Y_DIR_PIN, OUTPUT);0 \/ b! F# w) \+ h$ A
pinMode(Y_ENABLE_PIN, OUTPUT);
( u. k: U3 C1 s) J9 Y pinMode(Y_MIN_PIN, INPUT);
* t' Y& t1 ?+ d; B, p' | pinMode(Y_MAX_PIN, INPUT);0 Q, J" u& W2 {* c
# J) C. S4 n, B, U$ g/ f1 x7 y
pinMode(Z_STEP_PIN, OUTPUT);
; x( Q* n$ F& ~% z, G0 C/ R pinMode(Z_DIR_PIN, OUTPUT);
6 e* B/ `7 ]/ | pinMode(Z_ENABLE_PIN, OUTPUT);
3 a/ }4 H: t3 f# i8 Y' z pinMode(Z_MIN_PIN, INPUT);8 b! @7 h' V8 ?& l) V5 r
pinMode(Z_MAX_PIN, INPUT);  p3 A1 L0 p$ A7 ?
5 [. l6 l3 b8 x- z! a
//figure our stuff.
- h1 |% C  P$ u7 p, D8 N calculate_deltas();) k$ l' ]* n6 X# G4 m4 Q
}4 q3 e( R. ?7 F/ Z
void dda_move(long micro_delay)
: w) S# ?) t, E  Y% z7 {{
$ m2 h4 h. w. G. X& t. z3 u# y1 M //enable our steppers+ x. d* o! l) H  W, E! u7 K
digitalWrite(X_ENABLE_PIN, HIGH);
: S2 d/ E; q: ~# F& T( m8 \, Z2 U digitalWrite(Y_ENABLE_PIN, HIGH);# O) M% A0 H& j7 K3 F
digitalWrite(Z_ENABLE_PIN, HIGH);: {" a3 Y) ?( C
2 l  q- S8 t. R& R8 A
//figure out our deltas7 f/ O: p+ H" W- L
max_delta = max(delta_steps.x, delta_steps.y);
: Y# c* E7 m. G" ?& Y& i% m max_delta = max(delta_steps.z, max_delta);* ]+ ^2 z; `' r. M! y4 F
//init stuff.
- p6 M* e( U" q3 T6 ?9 B- f long x_counter = -max_delta/2;, O( k8 `1 R) p. P% h
long y_counter = -max_delta/2;& s: l3 O( _7 r) a: o
long z_counter = -max_delta/2;- h6 L5 H3 y9 e  B$ x3 N: M

. j: {- b$ f5 c" ~6 a/ i  ]' s, C //our step flags
4 X, m$ V3 h/ o7 R+ d9 ? bool x_can_step = 0;) I  @* A  W  b& h( `1 m0 d+ ~
bool y_can_step = 0;$ ?/ ?: e0 n' t9 c2 A( w( `' Z1 d
bool z_can_step = 0;5 y0 o% l% M9 O/ H

: k  A& K8 V4 ]# _ if (micro_delay >= 16383), ]# ]5 z# G4 d$ r  A
  milli_delay = micro_delay / 1000;
; h, C: Q4 N2 A  e% q& N1 \ else
  G! c8 |9 ~6 o  milli_delay = 0;2 Q# L$ g# w  ^; S3 }9 J7 U4 ?6 \
6 I! v$ ~6 [* M6 n* V) R( ~+ d

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×
回復(fù)

使用道具 舉報

11#
發(fā)表于 2016-1-19 18:07:56 | 只看該作者
不錯
10#
發(fā)表于 2015-10-5 11:21:26 | 只看該作者
謝謝分享  
9#
發(fā)表于 2015-9-27 00:13:28 | 只看該作者
這個還沒怎么接觸過,樓主能詳細(xì)解釋解釋嗎
% C0 B( }) e1 [# n# [* N7 w
8#
發(fā)表于 2015-5-5 10:18:43 | 只看該作者
電子積木是什么意思?是CNC的G碼嗎?
7#
發(fā)表于 2015-5-5 10:06:23 | 只看該作者
感謝分享
6#
發(fā)表于 2015-5-2 17:56:27 | 只看該作者
謝謝分享!
5#
發(fā)表于 2014-12-2 14:14:14 | 只看該作者
謝謝分享
4#
發(fā)表于 2013-8-25 00:01:13 | 只看該作者
謝謝分享。
3#
發(fā)表于 2013-8-7 14:46:24 | 只看該作者
謝謝分享。
2#
 樓主| 發(fā)表于 2012-8-6 19:50:44 | 只看該作者
有2軸圓弧查補(bǔ)和3軸直線查補(bǔ)功能
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

Archiver|手機(jī)版|小黑屋|機(jī)械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-9-23 05:28 , Processed in 0.170555 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表