上一篇我們分享了Grbl主循環(huán)把串口發(fā)來的數(shù)據(jù)解析纱昧,分發(fā)到不同的執(zhí)行機構(gòu)征字,其中最重要的兩個使system_execute_line()和gc_execute_line();我們先分析system_execute_line().
這個函數(shù)在system.c中實現(xiàn)的容握,主要功能就是解析和執(zhí)行系統(tǒng)命令武鲁,也就是$開頭的命令:
$0 // 打印幫助信息
$J // 手動模式執(zhí)行
$$ // 打印設(shè)置參數(shù)
$G // 打印G代碼執(zhí)行狀態(tài)
$C // 設(shè)置檢查G代碼模式
$X // 解除警報
$# // 打印Grbl NGC參數(shù)
$H // 歸位
$S // 使Grbl進入休眠狀態(tài)
$I // 打印或設(shè)置構(gòu)建信息
$R // 恢復(fù)Grbl默認設(shè)置
$N // 打印或設(shè)置啟動腳本
這部分代碼不算復(fù)雜,不過多解釋污抬。
除了解析系統(tǒng)命令system.c還實現(xiàn)了一些控制功能账千,比如:安全門网沾,重置,暫停蕊爵,恢復(fù)等功能辉哥,它是通過引腳中斷來實現(xiàn)的,這塊比較獨立攒射,我們下一篇單獨分享引腳映射與中斷處理醋旦。