# Grbl源码解析与移植

grbl源码精读与解析,代码行级中文注释,包含详细例程

# 这本书是什么?

如本书名所示,这是一本分析Grbl固件源码的书,旨在从固件的角度上分享CNC的底层是如何设计,如何实现的。grbl在广大CNC爱好者中被广泛应用,它也提供了编译好的固件,刷了就能用。但是真正能够理解并能够移植的人并不多,因为grbl中涉及大量专业知识机械制造,电子电路,编译原理等,需要跨学科知识体系。 grbl直接操作底层寄存器实现相应的功能,并没有使用arduino框架,并且大量使用二进制位操作,代码晦涩,新手难以理解。市面上关于grbl源码和移植的内容寥寥无几,大部分都是零散的内容,不够系统化。新的MCU层出不穷,爱好者们希望能将grbl移植到不同的平台上,但是原版的grbl对avr atmega328p这款芯片做了高度优化,代码抽象程度不够,移植起来比较复杂。 基于以上几点,我希望能在理解了原版grbl源码的基础上,进行注释和实验案例,给需要移植grbl的小伙伴们一些帮助。

# 这本书会写什么?

我的目标是科普CNC基础知识,给CNC爱好者分享CNC周边的基础知识、Arduino硬件控制、运动学算法、编程实现。

我的方法是尽量手动实践,自己编写相应案例代码并编译上传,观察结果。

我的原则是简单直白,也就是说人话,大白话,把晦涩的专业属于用最常见的事物来理解。

我的理念是小步慢跑,一步一个脚印,走的时间长了,就成了路。

# 我希望读者能反馈什么?

CNC涉及大量的专业知识,我在某些领域知识也是空白,所以也是需要大家给我反馈,一起帮忙改进,这也是互联网最大的优势,所以我希望大家能够给我类似如下的反馈:

  1. 我发现文章里面有错误
  2. 我这里没有看懂
  3. 我这里看懂了但是不知道该怎么用
  4. 我觉得我有更好的例子和更好的实现方式

# 我希望能得到什么?

  1. 希望得到读者的尊重,码字和分析从来都不是一件容易的事,如果遇到文章里面有错误的地方,希望能指出来或提出改进意见,而不是谩骂指责。
  2. 希望得到读者的鼓励,言语上或物质上的都可以,只有这样我才有力量继续做下去。任何时候您觉得我的工作对您有帮助,都可以进行打赏。
  3. 希望读者能从本书中受益,对于CNC的理解能够更深一些。这是我做这件事最大的动力。