资源简介
基于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
- 下一篇:机场天气实时展示系统
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- 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
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
评论
共有 条评论