使用位置積分器來跟蹤編碼器的位置;
根據(jù)轉(zhuǎn)動(dòng)軸的方向進(jìn)行遞增/遞減計(jì)數(shù);
可選擇2X 模式或4X 模式;
使用內(nèi)置定時(shí)器來捕獲速度;
速度比較功能,當(dāng)捕獲的速度小于比較速度時(shí)產(chǎn)生中斷;
使用32 位寄存器來保存位置和速度;
3 個(gè)位置比較寄存器,可產(chǎn)生中斷;
用于分辨率計(jì)數(shù)的索引計(jì)數(shù)器;
索引比較寄存器,可產(chǎn)生中斷;
可結(jié)合索引和位置中斷來產(chǎn)生整個(gè)位移或局部旋轉(zhuǎn)位移的中斷;
帶可編程編碼器輸入信號延遲的數(shù)字濾波器;
可接收已解碼的輸入信號(時(shí)鐘和方向);
與APB 相連。
下面是調(diào)試OK的代碼:
void Encoder_Configration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_ICInitTypeDef TIM_ICInitStructure;
//PC6 A相 PC7 B相
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
/* Enable the TIM3 Update Interrupt */
/*NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQChannel;