/grbl-learning

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

Primary LanguageC

grbl-learning

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

为什么写这个?

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

目录

  1. 前言

  2. 准备工作

    1. CNC基础
    2. Grbl简介
    3. 软件硬件准备
  3. grbl源码解析

    1. 开始
    2. 架构
    3. 入口
    4. 串口
    5. 协议
    6. 核心系统
    7. gcode解析
    8. 运动规划
    9. 运动算法
    10. 电机动作
    11. 主轴动作
    12. 冷却动作
    13. 限位
    14. 归位
    15. 对刀
    16. 参数设置
  4. Grbl移植

    1. 硬件软件分层
    2. 硬件对应
  5. Grbl扩展

    1. gcode扩展
    2. 功能扩展