標(biāo)題:
stm32編碼器正交解碼代碼
[打印本頁(yè)]
作者:
op123567
時(shí)間:
2017-3-13 11:10
標(biāo)題:
stm32編碼器正交解碼代碼
stm32編碼器正交解碼代碼,c文件和h文件加入程序即可使用,寄存器編寫(xiě),方便移植
部分源碼預(yù)覽:
#include "Speed_Sensor.h"
int Drum_Speed=0,Axial_Speed=0;
void SpeedSensor_Init(void)
{
SpeedSensor_Init_TIM2();
SpeedSensor_Init_TIM3();
}
/**************************************************************************
函數(shù)功能:把TIM2初始化為編碼器接口模式
入口參數(shù):無(wú)
返回 值:無(wú)
**************************************************************************/
void SpeedSensor_Init_TIM2(void)
{
RCC->APB1ENR|=1<<0; //TIM2時(shí)鐘使能
RCC->APB2ENR|=1<<2; //使能PORTA時(shí)鐘
GPIOA->CRL&=0XFFFFFFF0;//PA0
GPIOA->CRL|=0X00000004;//浮空輸入
/* 把定時(shí)器初始化為編碼器模式 */
TIM2->PSC = 71;//預(yù)分頻器
TIM2->ARR = SpeedSensor_TIM_PERIOD-1;//設(shè)定計(jì)數(shù)器自動(dòng)重裝值
TIM2->CCMR1 |= 1<<0; //輸入模式,IC1FP1映射到TI1上
TIM2->CCMR1 |= 0xF<<4; //輸入濾波器
TIM2->CCER |= 0<<1; //IC1不反向
TIM2->SMCR |= 7<<0; //SMS='011' 所有的輸入均在上升沿和下降沿有效
TIM2->SMCR |= 5<<4; //
TIM2->CR1 |= 0x01; //CEN=1,使能定時(shí)器
}
/**************************************************************************
函數(shù)功能:把TIM4初始化為編碼器接口模式
入口參數(shù):無(wú)
返回 值:無(wú)
**************************************************************************/
void SpeedSensor_Init_TIM3(void)
{
RCC->APB1ENR|=1<<1; //TIM3時(shí)鐘使能
RCC->APB2ENR|=1<<2; //使能PORTA時(shí)鐘
GPIOA->CRL&=0XF0FFFFFF;//PA6
GPIOA->CRL|=0X04000000;//浮空輸入
/* 把定時(shí)器初始化為編碼器模式 */
TIM3->PSC = 71;//預(yù)分頻器
TIM3->ARR = SpeedSensor_TIM_PERIOD-1;//設(shè)定計(jì)數(shù)器自動(dòng)重裝值
TIM3->CCMR1 |= 1<<0; //輸入模式,IC1FP1映射到TI1上
TIM3->CCMR1 |= 0xF<<0; //輸入濾波器
TIM3->CCER |= 0<<1; //IC1不反向
TIM3->SMCR |= 7<<0; //SMS='011' 所有的輸入均在上升沿和下降沿有效
TIM3->SMCR |= 5<<4; //
TIM3->CR1 |= 0x01; //CEN=1,使能定時(shí)器
}
/**************************************************************************
函數(shù)功能:?jiǎn)挝粫r(shí)間讀取編碼器計(jì)數(shù)
入口參數(shù):定時(shí)器
返回 值:速度值
**************************************************************************/
void Read_SpeedSensor(void)
{
Axial_Speed= (short)TIM2 -> CNT; TIM2 -> CNT=0;
Drum_Speed= (short)TIM3 -> CNT; TIM3 -> CNT=0;
}
復(fù)制代碼
0.png
(60.55 KB, 下載次數(shù): 150)
下載附件
2017-3-13 17:33 上傳
完整代碼下載:
編碼器單路捕獲.rar
(1.02 KB, 下載次數(shù): 73)
2017-3-13 11:09 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
jkspro
時(shí)間:
2017-8-4 13:28
正需要
作者:
一個(gè)土豆
時(shí)間:
2019-9-16 22:04
請(qǐng)問(wèn),最后得到的 Axial_Speed Drum_Speed ,哪一個(gè)是最終得到的pwm值呢?
作者:
一個(gè)土豆
時(shí)間:
2019-9-16 22:13
請(qǐng)問(wèn)Axial_Speed Drum_Speed 這兩個(gè)值最終哪個(gè)是當(dāng)前pwm值
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1