资源简介
stm32f10x系列读取正交编码器的教程,使用了timer3,一定是正交ab相输出的编码器。

代码片段和文件信息
#include “sys.h“
#include “motor.h“
/***********************************************************
Copyright (C) 2013-2023YFRobot
Author: aosini Version:1.0 Date:2014/03/04
baseOn:YFRobot CoreSTM32 V1.0
Description: YFRobot L298N V1.1 驱动代码
电机驱动VIN、GND接7.2V
IN1~2接PC0~1;方向控制端口
ENA接PA6:速度控制
电机两根黄线接在298 M1处
All rights reserved
***********************************************************/
//LED IO 初始化 端口PD.2 运行指示灯
void LED_Init(void)
{
RCC->APB2ENR|=1<<5; //使能PORTD时钟
GPIOD->CRL&=0XFFFFF0FF;
GPIOD->CRL|=0X00000300; //PD.2推挽输出
GPIOD->ODR|=1<<2; //PD.2输出高
}
//电机旋转方向控制信号端口初始化
//PC1~0推挽输出,输出高
void M_Init(void)
{
RCC->APB2ENR|=1<<4; //使能PORTC时钟
GPIOC->CRL&=0XFFFFFF00;
GPIOC->CRL|=0X00000033; //PC1~0推挽输出
GPIOC->ODR|=0XF<<0; //PC1~0输出高电平
}
//定时器TIM3,PWM输出初始化CH1(PA6)
//arr:自动重装值
//psc:时钟预分频数
//设置自动重装值为900,那么PWM频率=72000/900=8Khz
////见STM32参考手册,14.3.9PWM模式。
void TIM3_PWM_Init(u16 arru16 psc) //arr设定计数器自动重装值
//psc预分频器不分频psc=0
{
RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRL&=0XF0FFFFFF;//PA6输出
GPIOA->CRL|=0X0B000000;//复用功能输出
GPIOA->ODR|=1<<6;//PA6上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->PSC=psc;//预分频器不分频
TIM3->CCMR1|=6<<4; //CH1 PWM1模式 高电平有效
TIM3->CCMR1|=1<<3; //CH1预装载使能
TIM3->CCER|=1<<0; //OC1 输出使能
TIM3->CR1=0x0080; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
//电机方向与速度控制,速度调节范围为-100~+100
//大于0时,正转,小于0时,反转
// 占空比低于0.4时电机不转
//(占空比是指高电平在一个周期之内所占的时间比率)
//TIM3->CCR1的设定范围为0~900(因为arr=900)
//见STM32参考手册,14.3.9PWM模式。
void Motor_Speed_Control(s16 motorSpeed)
{
s16 speed = 0 ;
if(motorSpeed>100) speed = 900;
else if (motorSpeed<-100) speed = -900;
else speed = motorSpeed;
if(speed == 0)
{
M_1 = 0;
M_2 = 0;
}
else if(speed > 0)
{
M_1 = 0;
M_2 = 1;
TIM3->CCR1 = speed * 5 + 400;
}
else
{
M_1 = 1;
M_2 = 0;
TIM3->CCR1 = -speed * 5 +400;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 399 2011-04-23 10:24 stm32编码器接口\keilkilll.bat
文件 2378 2014-03-05 09:59 stm32编码器接口\motor\motor.c
文件 958 2014-03-05 09:59 stm32编码器接口\motor\motor.h
文件 1632 2014-03-05 09:59 stm32编码器接口\motor\speed_cap.c
文件 616 2014-03-05 09:59 stm32编码器接口\motor\speed_cap.h
文件 312 2014-03-05 10:04 stm32编码器接口\readme.txt
文件 2038 2011-01-12 20:34 stm32编码器接口\SYSTEM\delay\delay.c
文件 876 2011-01-12 20:34 stm32编码器接口\SYSTEM\delay\delay.h
文件 6885 2011-01-12 20:34 stm32编码器接口\SYSTEM\sys\sys.c
文件 3839 2011-01-12 20:34 stm32编码器接口\SYSTEM\sys\sys.h
文件 3342 2011-04-17 15:42 stm32编码器接口\SYSTEM\usart\usart.c
文件 1054 2011-04-17 15:45 stm32编码器接口\SYSTEM\usart\usart.h
文件 148364 2014-03-05 09:59 stm32编码器接口\USER\delay.crf
文件 1825 2014-03-05 09:59 stm32编码器接口\USER\delay.d
文件 172140 2014-03-05 09:59 stm32编码器接口\USER\delay.o
文件 1098 2014-03-05 09:59 stm32编码器接口\USER\main.c
文件 154992 2014-03-05 09:59 stm32编码器接口\USER\main.crf
文件 1941 2014-03-05 09:59 stm32编码器接口\USER\main.d
文件 178620 2014-03-05 09:59 stm32编码器接口\USER\main.o
文件 1977 2014-03-05 09:59 stm32编码器接口\USER\main.Opt
文件 2858 2014-03-04 20:43 stm32编码器接口\USER\main.Uv2
....... 1981 2014-03-05 09:50 stm32编码器接口\USER\main_Opt.Bak
文件 14042 2014-03-05 10:08 stm32编码器接口\USER\main_Target 1.dep
文件 150982 2014-03-05 09:59 stm32编码器接口\USER\motor.crf
文件 1841 2014-03-05 09:59 stm32编码器接口\USER\motor.d
文件 174240 2014-03-05 09:59 stm32编码器接口\USER\motor.o
文件 150596 2014-03-05 09:59 stm32编码器接口\USER\speed_cap.crf
文件 2011 2014-03-05 09:59 stm32编码器接口\USER\speed_cap.d
文件 174856 2014-03-05 09:59 stm32编码器接口\USER\speed_cap.o
文件 35240 2014-03-05 09:59 stm32编码器接口\USER\STM32F10x.lst
............此处省略27个文件信息
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- 八三编码器设计 VHDL代码 简单,包附
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- H.264编码器流程图
评论
共有 条评论