ææçG代ç å表å¨Marlin_main.cppæ件ä¸ã
ææçç¸å
³ä»£ç é½å¨process_commandsè¿ä¸ªå½æ°éé¢ãGå¼å¤´çï¼G1ãG2ãG3çï¼åMå¼å¤´çï¼M0ãM1çï¼æ¯åå¼çï¼æ以ä¸å®è¦æ³¨æåºåã
æè¿é以ä¸ä¸ªç®åä¾åå说æï¼æ¯@wanhaixin æåºçï¼æ§è¡M03çæ¶åï¼æ¥éä¸ä¸ªç»§çµå¨ï¼æ§è¡M05çæ¶åï¼å
³éè¿ä¸ªç»§çµå¨ã
é¦å
å 为æ¯Må½ä»¤ï¼æ以åºè¯¥å°ä»£ç æ·»å å¨M代ç é¨åã为äºæ¹ä¾¿æ¥æ¾ï¼æç
§å顺åºè¿è¡æ·»å ä¼æ´å¥½ï¼æ¯å¦M3åºè¯¥æ¾å¨M2åM4ä¹é´ã
æ·»å 代ç æ¯ä¸å®è¦æ³¨æ#ifã#endifè¿æ ·çå®å½ä»¤ã
#ifdef ULTIPANEL
case 0: // M0 - Unconditional stop - Wait for user button press on LCD
case 1: // M1 - Conditional stop - Wait for user button press on LCD
{
LCD_MESSAGEPGM(MSG_USERWAIT);
codenum = 0;
if(code_seen('P')) codenum = code_value(); // milliseconds to wait
if(code_seen('S')) codenum = code_value() * 1000; // seconds to wait
st_synchronize();
previous_millis_cmd = millis();
if (codenum > 0){
codenum += millis(); // keep track of when we started waiting
while(millis() < codenum && !lcd_clicked()){
manage_heater();
manage_inactivity();
lcd_update();
}
}else{
while(!lcd_clicked()){
manage_heater();
manage_inactivity();
lcd_update();
}
}
LCD_MESSAGEPGM(MSG_RESUMING);
}
break;
#endif
//éè¦æ·»å ç代ç åºè¯¥æ¾å¨è¿ä¸ªä½ç½®
case 3:
digitalWrite(Pin,High);//Pinæä½ æç®ç¨äºæ§å¶ç»§çµå¨çæ¥å£ï¼arduino Pinç¼å·ï¼ãå¦æè·å
¶å®ç®¡èå²çªï¼å¯è½éè¦é
ç½®Pins.hæ件ä¸ç¸å
³ç®¡è为-1.
break;
case 5:
digitalWrite(Pin,LOW);
break;
//å®å¶æ·»å 代ç ç»æ
case 17:
LCD_MESSAGEPGM(MSG_NO_MOVE);
æ·»å 代ç åï¼å°±å¯ä»¥éè¿åéM3åM5æ¥åå«æé«ï¼5Vï¼åæä½ï¼0Vï¼ç¸åºçIOå£ï¼ä»èå®ç°å¯¹ç»§çµå¨çæ§å¶äºã
ä¿®æ¹ä»£ç çè¯è·æ·»å å·®ä¸å¤ï¼åªæ¯æ¾å°ç¸åºä»£ç 段è¿è¡ä¿®æ¹å°±å¥½äºã
温馨提示:答案为网友推荐,仅供参考