Grbl代码分析 cpu-map.h

//Arduino Mega328p.

#ifdef CPU_MAP_ATMEGA328P // (Arduino Uno)

  //串口中断向量

  #define SERIAL_RX     USART_RX_vect

  #define SERIAL_UDRE   USART_UDRE_vect

  // 步进电机脉冲端口,所有步进端口必须在一个通道里.

  #define STEP_DDR        DDRD

  #define STEP_PORT       PORTD

  #define X_STEP_BIT      2  // Uno Digital Pin 2

  #define Y_STEP_BIT      3  // Uno Digital Pin 3

  #define Z_STEP_BIT      4  // Uno Digital Pin 4

  #define STEP_MASK       ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // 掩码

  //步进电机方向端口. 所有步进端口必须在一个通道里.

  #define DIRECTION_DDR     DDRD

  #define DIRECTION_PORT    PORTD

  #define X_DIRECTION_BIT   5  // Uno Digital Pin 5

  #define Y_DIRECTION_BIT   6  // Uno Digital Pin 6

  #define Z_DIRECTION_BIT   7  // Uno Digital Pin 7

  #define DIRECTION_MASK    ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // 掩码

  // 步进电机使能端口(一个端口控制所有电机)

  #define STEPPERS_DISABLE_DDR    DDRB

  #define STEPPERS_DISABLE_PORT   PORTB

  #define STEPPERS_DISABLE_BIT    0  // Uno Digital Pin 8

  #define STEPPERS_DISABLE_MASK   (1<<STEPPERS_DISABLE_BIT)

  /*硬限位端口和中断向量,所有端口必须在一个通道,但和其他输入端口可不再一个通//道内.*/

  #define LIMIT_DDR        DDRB

  #define LIMIT_PIN        PINB

  #define LIMIT_PORT       PORTB

  #define X_LIMIT_BIT      1  // Uno Digital Pin 9

  #define Y_LIMIT_BIT      2  // Uno Digital Pin 10

  #ifdef VARIABLE_SPINDLE // 因为变主轴转速用到PWM,所以需要Z 轴限位放到Pin 12.

    #define Z_LIMIT_BIT    4 // Uno Digital Pin 12

  #else

    #define Z_LIMIT_BIT    3  // Uno Digital Pin 11

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值