日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式云IOT技術(shù)圈
[導(dǎo)讀]擊上方“嵌入式云IOT技術(shù)圈”,選擇“置頂/星標公眾號”干貨福利,第一時間送達!1、Marlin2.0參數(shù)存儲M命令Marlin2.0的存儲功能主要依靠EEPROM來進行,Marlin也提供了相應(yīng)的M代碼來協(xié)助3D打印愛好者進行調(diào)試,這些參數(shù)配置完畢以后可以存儲在單片機的EEPR...

擊上方“嵌入式云IOT技術(shù)圈”,選擇“置頂/星標公眾號

干貨福利,第一時間送達!

1、Marlin2.0 參數(shù)存儲M命令

Marlin2.0 的存儲功能主要依靠 EEPROM 來進行,Marlin也提供了相應(yīng)的M代碼來協(xié)助 3D 打印愛好者 進行調(diào)試,這些參數(shù)配置完畢以后可以存儲在單片機的 EEPROM 中,關(guān)于 EEPROM 的操作,主要有如下 指令:

比如我們可以通過串口來更改 PID 值、步進電機運行的加速度和最大速度的設(shè)置,設(shè)置完畢以后輸入以 上對應(yīng)的存儲指令 M500 即可完成參數(shù)的保存,如下所示:

以上這些參數(shù)都可以通過串口進行修改,有一些支持LCD的機器,也可以通過LCD進行修改,修改參數(shù) 后可以調(diào)用 M503 獲取設(shè)置的結(jié)果:

但是這個結(jié)果是當前生效,當設(shè)備斷電重啟后,設(shè)置的參數(shù)也就消失了,如果想要斷電保存,則需要設(shè) 置完參數(shù)以后調(diào)用 M500 命令進行保存,然后通過 M501 讀取保存的結(jié)果,如果想恢復(fù)成原來的參數(shù),也 可以通過 M502 命令將參數(shù)恢復(fù)到出廠前。

2、Marlin2.0 參數(shù)存儲方式代碼分析

當我們在串口輸入M代碼的時候,程序會執(zhí)行到Gcode.cpp中對應(yīng)的 case 分支:

case?'M':
switch?(parser.codenum)
{
??//....
??case?500:?M500();?break;??//?M500:?將設(shè)置好的參數(shù)保存到EEPROM中
??case?501:?M501();?break;??//?M501:?從EEPROM中讀取設(shè)置參數(shù)
??case?502:?M502();?break;??//?M502:?恢復(fù)參數(shù)為出廠前的狀態(tài)
??#if?DISABLED(DISABLE_M503)
??case?503:?M503();?break;??//?M503:?打印當前設(shè)置的參數(shù)(不是從EEPROM中讀取)
??#endif
??//...
?...
}
可左右滑動查看
對應(yīng)的M代碼實現(xiàn)位于Marlin/src/gcode/eeprom/M500-M504.cpp中:

//M500:將設(shè)置好的參數(shù)保存到EEPROM中
void?GcodeSuite::M500()?{
??(void)settings.save();?//MarlinSettings?settings;
}
//M501:從EEPROM中讀取設(shè)置參數(shù)
void?GcodeSuite::M501()?{
??(void)settings.load();?//MarlinSettings?settings;
}
//M502:恢復(fù)參數(shù)為出廠前的狀態(tài)
void?GcodeSuite::M502()?{
??(void)settings.reset();?//MarlinSettings?settings;
}
#if?DISABLED(DISABLE_M503)
?//M503:打印當前設(shè)置的參數(shù)(不是從EEPROM中讀取)
?void?GcodeSuite::M503()?{
?(void)settings.report(!parser.boolval('S',?true));?//MarlinSettings
settings;
}
#endif?//?!DISABLE_M503
可左右滑動查看
Marlin的參數(shù)存儲主要是依靠 MarlinSettings 類來實現(xiàn),位于Marlin/src/module/Settings.h以 及Marlin/src/module/Settings.cpp中,最終會調(diào)用到具體的存儲硬件的讀寫函數(shù)。

往期精彩

開源Marlin2.x源代碼架構(gòu)學習筆記

步進電機驅(qū)動在3D打印應(yīng)用的學習筆記(一)

光固化3D打印懸空和支撐講解

3D打印過程與最近的學習成果

兩個最常用的3D打印機切片軟件

3D打印機marlin固件框架與GCode命令總結(jié)

3D打印機Marlin固件串口功能解析和程序移植

讓野火F103開發(fā)板支持Marlin2.0固件是什么體驗?3D打印主控板成員 1

C語言映射表在嵌入式串口解析、UI設(shè)計中的應(yīng)用(值得收藏并實踐的精華帖)

覺得本次分享的文章對您有幫助,隨手點[在看]并轉(zhuǎn)發(fā)分享,也是對我的支持。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉