上一篇我們分享了Grbl的系統(tǒng)命令部分,在上位機(jī)發(fā)來的數(shù)據(jù)流,除了系統(tǒng)命令($開頭),其余的就是G代碼了,在protocol.c中調(diào)用gc_ex...
上一篇我們分析了system.c,它除了執(zhí)行系統(tǒng)命令外,還處理了其他功能例如:安全門,重置,暫停,恢復(fù)等功能,這就涉及到對IO引腳的操作了,Gr...
上一篇我們分享了Grbl主循環(huán)把串口發(fā)來的數(shù)據(jù)解析,分發(fā)到不同的執(zhí)行機(jī)構(gòu),其中最重要的兩個(gè)使system_execute_line()和gc_e...
主循環(huán)這塊算是Grbl中最復(fù)雜的內(nèi)容了,里面摻雜了很多模塊調(diào)用,我們抽絲剝繭,順著脈絡(luò)一點(diǎn)點(diǎn)進(jìn)行。先主要分析main.c和protocol.c ...
上篇我們分享了Grbl通過串口中斷的方式處理收發(fā)數(shù)據(jù)的例子,并使用一個(gè)簡單的結(jié)構(gòu)儲(chǔ)存數(shù)據(jù)。這篇我們分享Grbl中一個(gè)重要的數(shù)據(jù)結(jié)構(gòu):環(huán)形隊(duì)列。通...
上篇我們分享了通過串口寄存器實(shí)現(xiàn)單片機(jī)與電腦的通信,這篇繼續(xù)通過中斷的方式實(shí)現(xiàn),這樣能使主循環(huán)和串口互不干擾的獨(dú)立運(yùn)行。 首先我們開啟在UCSR...
上一篇我們分享了Grbl串口的serial.c源碼,接下來我們將通過動(dòng)手編寫幾個(gè)例子來深入了解Arduino底層關(guān)于串口寄存器的用法。 開始之前...
串口通過UART接口通過USB與上位機(jī)通信,配置成中斷接收和中斷發(fā)送模式,并創(chuàng)建了串口接收環(huán)形隊(duì)列和串口發(fā)送環(huán)形隊(duì)列,中斷接收的數(shù)據(jù)存放在串口接...
注釋詳盡,設(shè)計(jì)嚴(yán)謹(jǐn),有專業(yè)、優(yōu)雅、神作之稱。模塊交互,相得益彰。其中串口通信、中斷定時(shí),如外星之技。廢寢忘食,仍怡然自樂。 前面我們分享了Grb...