资源简介
基于STM32,采用编码器模式,可以实现两个带编码器的直流电机的测速,并将测速结果通过串口显示出来。
代码片段和文件信息
#include “encoder.h“
#include “sys.h“
#include “usart.h“
void Encoder_TIM1_Init(void)
{
RCC->APB2ENR |= 1<<0; //TIM1时钟使能
RCC->AHB1ENR |= 1<<4; //GPIOE端口时钟使能
GPIOE->MODER &= ~(3<<(2*9)); //先清除PE9PE11原来的模式
GPIOE->MODER &= ~(3<<(2*11));
GPIOE->MODER |= (2<<(2*9)); //设置PE9PE11为复用模式
GPIOE->MODER |= (2<<(2*11));
GPIOE->AFR[1] &=~(15<<(4*1)); //复用至AF1
GPIOE->AFR[1] &=~(15<<(4*3));
GPIOE->AFR[1] |=(1<<(4*1));
GPIOE->AFR[1] |=(1<<(4*3));
TIM1->ARR = 0xFFFF;
TIM1->PSC = 0;
TIM1->CCMR1 |= 1<<0; //CC1 通道配置为输入,IC1映射到 TI1上。
TIM1->CCMR1 |= 1<<8; //CC2 通道配置为输入,IC2 映射到 TI2上。
TIM1->SMCR |=3<<0; //上升沿下降沿都有效
TIM1->CR1 |= 1<<0; //使能计数器
}
void Encoder_TIM8_Init(void)
{
RCC->APB2ENR |= 1<<1; //TIM8时钟使能
RCC->AHB1ENR |= 1<<2; //GPIOC端口时钟使能
GPIOC->MODER &= ~(3<<(2*6)); //先清除PC6PC7原来的模式
GPIOC->MODER &= ~(3<<(2*7));
GPIOC->MODER |= (2<<(2*6)); //设置PC6PC7为复用模式
GPIOC->MODER |= (2<<(2*7));
GPIOC->AFR[0] &=~(15<<(4*6)); //复用至AF3
GPIOC->AFR[0] &=~(15<<(4*7));
GPIOC->AFR[0] |=(3<<(4*6));
GPIOC->AFR[0] |=(3<<(4*7));
TIM8->ARR = 0xFFFF;
TIM8->PSC = 0;
TIM8->CCMR1 |= 1<<0; //CC1 通道配置为输入,IC1映射到 TI1上。
TIM8->CCMR1 |= 1<<8; //CC2 通道配置为输入,IC2 映射到 TI2上。
TIM8->SMCR |=3<<0; //上升沿下降沿都有效
TIM8->CR1 |= 1<<0; //使能计数器
}
int Read_Encoder(u8 TIM)
{
int Encoder_TIM;
switch(TIM)
{
case 1: Encoder_TIM= (short)TIM1 -> CNT;break;
case 2: Encoder_TIM= (short)TIM8 -> CNT;break;
default: Encoder_TIM=0;
}
return Encoder_TIM;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-02 16:33 带编码器的减速直流电机\
目录 0 2018-10-02 16:33 带编码器的减速直流电机\HARDWORKS\
目录 0 2018-10-04 19:09 带编码器的减速直流电机\HARDWORKS\ENCODER\
文件 1984 2018-10-04 19:09 带编码器的减速直流电机\HARDWORKS\ENCODER\encoder.c
文件 191 2018-10-02 14:55 带编码器的减速直流电机\HARDWORKS\ENCODER\encoder.h
目录 0 2018-10-02 16:33 带编码器的减速直流电机\HARDWORKS\LED\
文件 308 2018-09-25 20:40 带编码器的减速直流电机\HARDWORKS\LED\led.c
文件 182 2018-05-11 19:06 带编码器的减速直流电机\HARDWORKS\LED\led.h
目录 0 2018-10-02 16:33 带编码器的减速直流电机\HARDWORKS\TIMER\
文件 916 2018-10-02 16:31 带编码器的减速直流电机\HARDWORKS\TIMER\timer.c
文件 120 2018-05-17 22:17 带编码器的减速直流电机\HARDWORKS\TIMER\timer.h
目录 0 2018-10-02 16:34 带编码器的减速直流电机\OBJ\
文件 266714 2018-10-02 16:32 带编码器的减速直流电机\OBJ\delay.crf
文件 450 2018-10-02 16:32 带编码器的减速直流电机\OBJ\delay.d
文件 287004 2018-10-02 16:32 带编码器的减速直流电机\OBJ\delay.o
文件 271735 2018-10-02 16:32 带编码器的减速直流电机\OBJ\encoder.crf
文件 586 2018-10-02 16:32 带编码器的减速直流电机\OBJ\encoder.d
文件 288452 2018-10-02 16:32 带编码器的减速直流电机\OBJ\encoder.o
文件 265967 2018-10-02 16:32 带编码器的减速直流电机\OBJ\led.crf
文件 428 2018-10-02 16:32 带编码器的减速直流电机\OBJ\led.d
文件 281752 2018-10-02 16:32 带编码器的减速直流电机\OBJ\led.o
文件 59 2018-10-02 16:32 带编码器的减速直流电机\OBJ\startup_stm32f40_41xxx.d
文件 8032 2018-10-02 16:32 带编码器的减速直流电机\OBJ\startup_stm32f40_41xxx.o
文件 268564 2018-10-02 16:32 带编码器的减速直流电机\OBJ\sys.crf
文件 387 2018-10-02 16:32 带编码器的减速直流电机\OBJ\sys.d
文件 300720 2018-10-02 16:32 带编码器的减速直流电机\OBJ\sys.o
文件 273040 2018-10-02 16:32 带编码器的减速直流电机\OBJ\test.axf
文件 2275 2018-10-02 16:32 带编码器的减速直流电机\OBJ\test.build_log.htm
文件 271341 2018-10-02 16:34 带编码器的减速直流电机\OBJ\test.crf
文件 648 2018-10-02 16:34 带编码器的减速直流电机\OBJ\test.d
文件 9456 2018-10-02 16:32 带编码器的减速直流电机\OBJ\test.hex
............此处省略42个文件信息
- 上一篇:PM正交调制解调Verilog
- 下一篇:机场天气实时展示系统
相关资源
- stm32控制的LCD19264显示程序
- 基于STM32的简易计算器.rar
- stm32f4 discovery uCOSII 2.91 IAR6.3
- STM32L系列直驱段式LCD、待机模式、A
- STM32毕业设计论文-STM32图像采集系统
- STM32F103C8 虚拟示波器 源码全套资料
- STM32单片机实现Modbus协议主机2个源码
- STM32F103C6T6做的USB转RS232模块图纸源码
- stm32-sht10采集,即可使用
- 百度云IoT物联网平台 -ESP8266-MQTT 1路开
- OneNet云IoT物联网平台 ESP8266 MQTT 1路开
- STM32+TIM+ADC
- STM32+ADC+中断+串口通信
- 单线半双工通信.zip
- stm32秒表程序
- BH1750FVI STM32F103 HAL库 硬件IIC例程
- 基于ARM STM32F429的红外遥控贪吃蛇游戏
- 基于STM32的智能家居控制系统的设计与
- stm32 sd卡sdio模式接口读写带串口调试
- stm32F103C8T6+LCD1602.rar
- stm32F4电机BLDC控制
- STM32-PLC原代码,有原理图
- STM32按键控制L298N驱动两直流电机正反
- stm32程序,AD7705,tsl2506步进电机,d
- STM32F103系列采用模拟IIC方式驱动了B
- STM32F1通过模拟IIC接口与BME280通信,获
- stm32 + dht11温度报警器
- STM32 USB复合设备 双游戏摇杆代码和
- STM32F103_ADC代码——直接移植即可用
- HC-SR04 STM32程序
评论
共有 条评论