#include <Arduino.h>
#include <SimpleFOC.h>
// 编码器(pin_A, pin_B, PPR)
Encoder sensor = Encoder(2, 3, 4096);
//通道A和B回调
void doA(){sensor.handleA();}
void doB(){sensor.handleB();}
void setup() {
Serial.begin(115200);//WWQ
// 初始化编码器硬件
sensor.init();
//硬件中断启用
sensor.enableInterrupts(doA, doB);
Serial.println("Encoder ready");
_delay(1000);
}
void loop() {
Serial.print(sensor.getAngle());
Serial.print("\t");
Serial.println(sensor.getVelocity());
}
1. Encoder(int encA, int encB , float ppr, int index = 0);
编码器类构造函数:
参数encA编码器A引脚
参数encB编码器B引脚
每次旋转的参数ppr脉冲(cpr=ppr*4)
参数索引管脚编号(可选输入)
2.void enableInterrupts(void (*doA)() = nullptr, void(*doB)() = nullptr, void(*doIndex)() = nullptr);
编码器中断回调函数
3.传感器类实现的抽象函数
获取当前角度(rad)</