99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32CubeMx配置定時(shí)器的編碼器模式

CHANBAEK ? 來源:小李的創(chuàng)客實(shí)驗(yàn)室 ? 作者:小李的創(chuàng)客實(shí)驗(yàn)室 ? 2023-08-21 11:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM32CubeMx配置定時(shí)器編碼器模式

上次文章寫了編碼器是如何工作的,今天就來用STM32F103C8T6的TIM3的通道1跟通道2編寫一個(gè)編碼器識(shí)別程序。

編程思路:

A相:TIM3_CH1

B相:TIM3_CH2

SWITCH:PB5(外部中斷的方式)

實(shí)現(xiàn)效果:

編碼器順時(shí)針旋轉(zhuǎn)編碼器計(jì)數(shù)值 +1

編碼器逆時(shí)針旋轉(zhuǎn)編碼器計(jì)數(shù)值 -1

按下SWITCH編碼器計(jì)數(shù)值值清 0

話不多說,上教程

1.配置時(shí)鐘

  • 選擇外部高速時(shí)鐘源HSE

圖片
在這里插入圖片描述

2.配置SWITCH管腳為外部中斷模式(默認(rèn)上拉)

  • 選擇中斷模式觸發(fā)下降沿有效
  • 默認(rèn)是上拉輸入
  • 添加用戶標(biāo)簽為SWITCH

圖片
在這里插入圖片描述

使能NVIC配置

圖片
在這里插入圖片描述

3.配置定時(shí)器管腳為編碼器模式

  • 選擇編碼器模式
  • 分頻值設(shè)置為2-1
  • 計(jì)數(shù)值設(shè)置為1
  • 自動(dòng)重裝載值1
  • 自動(dòng)重載使能
  • 通道1,2都計(jì)數(shù)
  • 都是上升沿有效

圖片
在這里插入圖片描述

4.配置時(shí)鐘到72MHz

  • 手動(dòng)輸入72MHz自動(dòng)匹配

圖片
在這里插入圖片描述

5.配置工程屬性

  • 填寫工程名字
  • 選擇工程路徑
  • 選擇工程平臺(tái)(KEIL MDK)圖片

6.配置工程代碼屬性

  • 拷貝必要的庫文件
  • 單獨(dú)形成.c跟.h文件

圖片
在這里插入圖片描述

7.生產(chǎn)工程并添加修改代碼

  • 直接打開工程
  • 修改必要代碼

圖片
在這里插入圖片描述

7.1修改定時(shí)器代碼

  • 添加一個(gè)自定義結(jié)構(gòu)體
/* USER CODE BEGIN Private defines */

typedefstruct
{
	int Encoder_Val;
	int Encoder_Dir;
}EC11_t;

extern EC11_t EC11;
/* USER CODE END Private defines */

編寫一個(gè)中斷回調(diào)函數(shù)

編寫回調(diào)函數(shù)邏輯代碼

/* USER CODE BEGIN 0 */
EC11_t                   EC11;
/* USER CODE END 0 */

/* USER CODE BEGIN 1 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
	 uint8_t dir = 0;
	 if(htim == &htim3)
	 {
		 dir =  __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim3);
		 if(dir==1)
		 {
			 EC11.Encoder_Val++;
			 EC11.Encoder_Dir =  1;
		 }
		 if(dir==0)
		 {
			 EC11.Encoder_Val--;
			 EC11.Encoder_Dir = -1;
		 }
	 }
}
/* USER CODE END 1 */

7.2修改外部中斷代碼

添加一個(gè)中斷回調(diào)函數(shù)

/* USER CODE BEGIN 1 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
	EC11.Encoder_Val = 0;
}
/* USER CODE END 1 */

7.3修改初始化代碼

/* USER CODE BEGIN TIM3_Init 2 */
	__HAL_TIM_CLEAR_IT(&htim3,TIM_IT_UPDATE);
	HAL_TIM_Encoder_Start(&htim3, TIM_CHANNEL_ALL);
	__HAL_TIM_ENABLE_IT(&htim3,TIM_IT_UPDATE);
  /* USER CODE END TIM3_Init 2 */

8.下載調(diào)試代碼

  • 現(xiàn)象1順時(shí)針旋轉(zhuǎn)編碼器值加1

圖片
在這里插入圖片描述

  • 現(xiàn)象2順時(shí)針旋轉(zhuǎn)編碼器值減1

圖片
在這里插入圖片描述

  • 按鍵按下編碼器值清零

圖片
在這里插入圖片描述

9.總結(jié)

至此編碼器已經(jīng)全部寫完了。STM32CubeMx的使用比較方便,注意一點(diǎn)就是如果修改代碼盡量寫到英文的注釋中去,這樣即使再重新修改CubeMx配置重新生成代碼也不會(huì)改變?cè)瓉淼某绦?,否則原來的代碼就沒了,別問我咋知道的血淚的教訓(xùn)?。。?!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3787

    瀏覽量

    137678
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3825

    瀏覽量

    82739
  • 旋轉(zhuǎn)編碼器
    +關(guān)注

    關(guān)注

    5

    文章

    160

    瀏覽量

    26302
  • STM32F103C8T6
    +關(guān)注

    關(guān)注

    110

    文章

    165

    瀏覽量

    85691
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    286

    瀏覽量

    16136
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32CubeMx入門教程(3):定時(shí)器的使用

    導(dǎo)語“ 使用STM32CubeMx 生成初始化定時(shí)器代碼,實(shí)現(xiàn)定時(shí)器特定定時(shí)
    發(fā)表于 07-11 15:22 ?5245次閱讀
    <b class='flag-5'>STM32CubeMx</b>入門教程(3):<b class='flag-5'>定時(shí)器</b>的使用

    STM32CubeMx入門教程(4):PWM應(yīng)用

    導(dǎo)語“使用STM32CubeMx配置定時(shí)器輸出PWM波,生成初始化代碼?!?/div>
    發(fā)表于 07-11 15:23 ?3221次閱讀
    <b class='flag-5'>STM32CubeMx</b>入門教程(4):PWM應(yīng)用

    stm32cubemx配置定時(shí)器

    stm32cubemx配置定時(shí)器,文章目錄前言keil主函數(shù)時(shí)鐘配置中斷響應(yīng)CUBE主函數(shù)配置函數(shù)中斷響應(yīng)前言本文主要介紹使用keil和
    發(fā)表于 08-10 07:55

    Stm32CubeMx基本定時(shí)器的概念

    Stm32CubeMx基本定時(shí)器基本定時(shí)器概念Stm32CubeMx 配置基本配置
    發(fā)表于 08-18 08:18

    怎樣利用STM32cubeMX庫去配置編碼器模式

    霍爾編碼器測(cè)速原理是什么?怎樣利用STM32cubeMX庫去配置編碼器模式?
    發(fā)表于 09-10 07:32

    請(qǐng)問STM32CubeMX配置Encoder模式如何驅(qū)動(dòng)EC11旋轉(zhuǎn)編碼器

    請(qǐng)問STM32CubeMX配置Encoder模式如何驅(qū)動(dòng)EC11旋轉(zhuǎn)編碼器?
    發(fā)表于 11-18 07:48

    STM32CubeMX環(huán)境配置的相關(guān)資料推薦

    STM32CubeMX-----配置編碼器電機(jī)的測(cè)速前言一、STM32CubeMX環(huán)境配置1.配置
    發(fā)表于 01-10 08:08

    【MCU】基于STM32CubeMX定時(shí)器中斷實(shí)現(xiàn)LED閃爍

    基于STM32CubeMX定時(shí)器中斷實(shí)現(xiàn) LED 閃爍本實(shí)驗(yàn)基于STM32CubeMX實(shí)現(xiàn)對(duì)STM32開發(fā)板的配置,通過
    發(fā)表于 10-29 11:06 ?20次下載
    【MCU】基于<b class='flag-5'>STM32CubeMX</b><b class='flag-5'>定時(shí)器</b>中斷實(shí)現(xiàn)LED閃爍

    STM32單片機(jī)定時(shí)器1設(shè)置成為AB項(xiàng)編碼器模式

    STM32單片機(jī)定時(shí)器1設(shè)置成為AB項(xiàng)編碼器模式大家好·,我是DXZ,這篇博客是使用STM32單片機(jī)定時(shí)
    發(fā)表于 11-18 15:21 ?21次下載
    <b class='flag-5'>STM32</b>單片機(jī)<b class='flag-5'>定時(shí)器</b>1設(shè)置成為AB項(xiàng)<b class='flag-5'>編碼器</b><b class='flag-5'>模式</b>

    STM32CUBEMX配置教程(十二)STM32定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA)

    STM32CUBEMX配置教程(十二)STM32定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA)
    發(fā)表于 11-24 13:51 ?86次下載
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>配置</b>教程(十二)<b class='flag-5'>STM32</b>的<b class='flag-5'>定時(shí)器</b>觸發(fā)的固定頻率ADC采樣(使用DMA)

    STM32CUBEMX配置教程(十三)STM32定時(shí)器觸發(fā)的固定頻率DAC輸出(使用DMA)

    STM32CUBEMX配置教程(十三)STM32定時(shí)器觸發(fā)的固定頻率DAC輸出(使用DMA)
    發(fā)表于 11-24 14:06 ?47次下載
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>配置</b>教程(十三)<b class='flag-5'>STM32</b>的<b class='flag-5'>定時(shí)器</b>觸發(fā)的固定頻率DAC輸出(使用DMA)

    STM32定時(shí)器單脈沖模式及其應(yīng)用

    STM32定時(shí)器可以配置為單脈沖模式,所謂的單脈沖就是通過配置定時(shí)器使其在一個(gè)可控延時(shí)后,產(chǎn)生
    發(fā)表于 11-25 11:06 ?65次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>定時(shí)器</b>單脈沖<b class='flag-5'>模式</b>及其應(yīng)用

    STM32F407定時(shí)器編碼器模式簡(jiǎn)介

    STM32F407定時(shí)器編碼器模式
    發(fā)表于 03-31 17:14 ?9142次閱讀
    <b class='flag-5'>STM32</b>F407<b class='flag-5'>定時(shí)器</b><b class='flag-5'>編碼器</b><b class='flag-5'>模式</b>簡(jiǎn)介

    詳解stm32定時(shí)器編碼器模式

    增量式編碼器在實(shí)際應(yīng)用中還是很常見。stm32定時(shí)器帶的也有編碼器模式。所用的編碼器是有ABZ
    的頭像 發(fā)表于 01-19 09:14 ?1.1w次閱讀
    詳解<b class='flag-5'>stm32</b><b class='flag-5'>定時(shí)器</b>的<b class='flag-5'>編碼器</b><b class='flag-5'>模式</b>

    STM32CubeMx定時(shí)器編碼器模式基本使用方法

    增量式編碼器在實(shí)際應(yīng)用中還是很常見。stm32定時(shí)器帶的也有編碼器模式。所用的編碼器是有ABZ
    發(fā)表于 06-01 14:36 ?6601次閱讀
    <b class='flag-5'>STM32CubeMx</b><b class='flag-5'>定時(shí)器</b><b class='flag-5'>編碼器</b><b class='flag-5'>模式</b>基本使用方法