主题中讨论的其他器件:Energia
你(们)好
我已将131:1金属齿轮电机37Dx73L mm 与64 CPR 编码器连接到 Tiva 板。 在 Energia 中进行编码、如下所示:
#define LEFT_Encoder_Pina PD_6
#define LEFT_Encoder_PinB PD_7
volatile long left_Encoder_ticks = 0;
易失性 bool 左侧编码器 BSet;
#define Rright_Encoder_Pina PC_5
#define Rright_Encoder_PinB PC_6
volatile long right_Encoder_ticks = 0;
易失性 bool 右侧编码器 BSet;
void setup()
{
Serial.begin(115200);
SetupEncoders();
}
void SetupEncoder()
{
引脚模式(LEFT_Encoder_Pina、INPUT_PULLUP);
引脚模式(LEFT_Encoder_PinB、INPUT_PULLUP);
attachInterrupt (left_Encoder_Pina、do_left_Encoder、rising);
引脚模式(Rright_Encoder_Pina、input_pullup);
PinMode (Rright_Encoder_PinB、input_pullup);
attachInterrupt (right_Encoder_Pina、do_right_Encoder、rising);
}
void loop()
{
update_encoders();
}
空 Update_Encoder()
{
serial.print("e");
serial.print ("\t");
serial.print (left_Encoder_ticks);
serial.print ("\t");
serial.print (right_Encoder_ticks);
serial.print ("\n");
}
void do 左侧编码器()
{
LeftEncoderBSet = digitalRead (left_Encoder_PinB);
left_Encoder_ticks -= LeftEncoderBSet? -1:+1;
}
void do 右编码器()
{
RightEncoderBSet = digitalRead (right_Encoder_PinB);
Right_Encoder_TICKs += RightEncoderBSet? -1:+1;
}
已成功编译和上传、但无法在串行监视器中读取值。
我是否必须进行任何配置? 如果是、如何操作?