上一篇我们分享了Grbl的系统命令部分,在上位机发来的数据流,除了系统命令($开头),其余的就是G代码了,在protocol.c中调用gc_ex...
上一篇我们分析了system.c,它除了执行系统命令外,还处理了其他功能例如:安全门,重置,暂停,恢复等功能,这就涉及到对IO引脚的操作了,Gr...
上一篇我们分享了Grbl主循环把串口发来的数据解析,分发到不同的执行机构,其中最重要的两个使system_execute_line()和gc_e...
主循环这块算是Grbl中最复杂的内容了,里面掺杂了很多模块调用,我们抽丝剥茧,顺着脉络一点点进行。先主要分析main.c和protocol.c ...
上篇我们分享了Grbl通过串口中断的方式处理收发数据的例子,并使用一个简单的结构储存数据。这篇我们分享Grbl中一个重要的数据结构:环形队列。通...
上篇我们分享了通过串口寄存器实现单片机与电脑的通信,这篇继续通过中断的方式实现,这样能使主循环和串口互不干扰的独立运行。 首先我们开启在UCSR...
上一篇我们分享了Grbl串口的serial.c源码,接下来我们将通过动手编写几个例子来深入了解Arduino底层关于串口寄存器的用法。 开始之前...
串口通过UART接口通过USB与上位机通信,配置成中断接收和中断发送模式,并创建了串口接收环形队列和串口发送环形队列,中断接收的数据存放在串口接...
注释详尽,设计严谨,有专业、优雅、神作之称。模块交互,相得益彰。其中串口通信、中断定时,如外星之技。废寝忘食,仍怡然自乐。 前面我们分享了Grb...