2021-08-17 09:56:57 索煒達電子 1267
項目編號:E240
文件大小:551K
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述
EC11 編碼器
首先來看下 EC11 旋轉(zhuǎn)編碼器旋轉(zhuǎn)時的邏輯分析儀波形圖:
通過邏輯分析儀波形圖可以看出,旋轉(zhuǎn)編碼器正轉(zhuǎn)(順時針)旋轉(zhuǎn)時 CLK 先由高變?yōu)榈?,旋轉(zhuǎn)編碼器反轉(zhuǎn)(逆時針)旋轉(zhuǎn)時 Dt 先由高變?yōu)榈?。下面就思考下怎么實現(xiàn)代碼判斷正反轉(zhuǎn)。
首先配置 CLK 和 DT 為下降沿外部中斷觸發(fā),也就是出現(xiàn)下降沿時觸發(fā)中斷;這里我們要判斷正反轉(zhuǎn),只需要在 CLK 的中斷回調(diào)函數(shù)中判斷 DT 的電平高低即可判斷出旋轉(zhuǎn)的方向,當 CLK 中斷觸發(fā)時如果 DT 為高電平則為正轉(zhuǎn),如果為低電平則為反轉(zhuǎn)。
文件列表:
目錄│文件列表:
└ stm32_-led_-ec11
│ .mxproject
│ .stm32ignore
│ 74HC595D-EC11.ioc
│ EC11-1.png
│ Makefile
│ startup_stm32f410rx.s
│ STM32F410RBTx_FLASH.ld
│ STM32Make.make
├ .vscode
│ │ c_cpp_properties.json
│ │ launch.json
│ │ settings.json
│ └ tasks.json
├ Core
│ ├ Inc
│ │ │ gpio.h
│ │ │ led74hc595.h
│ │ │ main.h
│ │ │ spi.h
│ │ │ stm32f4xx_hal_conf.h
│ │ │ stm32f4xx_it.h
│ │ └ usart.h
│ └ Src
│ │ gpio.c
│ │ led74hc595.c
│ │ main.c
│ │ spi.c
│ │ stm32f4xx_hal_msp.c
│ │ stm32f4xx_it.c
│ │ system_stm32f4xx.c
│ └ usart.c
└ Drivers
├ CMSIS
│ ├ Device
│ │ └ ST
│ │ └ STM32F4xx
│ │ └ Include
│ │ │ stm32f410rx.h
│ │ │ stm32f4xx.h
│ │ └ system_stm32f4xx.h
│ └ Include
│ │ cmsis_armcc.h
│ │ cmsis_armclang.h
│ │ cmsis_compiler.h
│ │ cmsis_gcc.h
│ │ cmsis_iccarm.h
│ │ cmsis_version.h
│ │ core_armv8mbl.h
│ │ core_armv8mml.h
│ │ core_cm0.h
│ │ core_cm0plus.h
│ │ core_cm1.h
│ │ core_cm23.h
│ │ core_cm3.h
│ │ core_cm33.h
│ │ core_cm4.h
│ │ core_cm7.h
│ │ core_sc000.h
│ │ core_sc300.h
│ │ mpu_armv7.h
│ │ mpu_armv8.h
│ └ tz_context.h
└ STM32F4xx_HAL_Driver
├ Inc
│ │ stm32f4xx_hal.h
│ │ stm32f4xx_hal_cortex.h
│ │ stm32f4xx_hal_def.h
│ │ stm32f4xx_hal_dma.h
│ │ stm32f4xx_hal_dma_ex.h
│ │ stm32f4xx_hal_exti.h
│ │ stm32f4xx_hal_flash.h
│ │ stm32f4xx_hal_flash_ex.h
│ │ stm32f4xx_hal_flash_ramfunc.h
│ │ stm32f4xx_hal_gpio.h
│ │ stm32f4xx_hal_gpio_ex.h
│ │ stm32f4xx_hal_pwr.h
│ │ stm32f4xx_hal_pwr_ex.h
│ │ stm32f4xx_hal_rcc.h
│ │ stm32f4xx_hal_rcc_ex.h
│ │ stm32f4xx_hal_spi.h
│ │ stm32f4xx_hal_tim.h
│ │ stm32f4xx_hal_tim_ex.h
│ │ stm32f4xx_hal_uart.h
│ └ Legacy
│ └ stm32_hal_legacy.h
└ Src
│ stm32f4xx_hal.c
│ stm32f4xx_hal_cortex.c
│ stm32f4xx_hal_dma.c
│ stm32f4xx_hal_dma_ex.c
│ stm32f4xx_hal_exti.c
│ stm32f4xx_hal_flash.c
│ stm32f4xx_hal_flash_ex.c
│ stm32f4xx_hal_flash_ramfunc.c
│ stm32f4xx_hal_gpio.c
│ stm32f4xx_hal_pwr.c
│ stm32f4xx_hal_pwr_ex.c
│ stm32f4xx_hal_rcc.c
│ stm32f4xx_hal_rcc_ex.c
│ stm32f4xx_hal_spi.c
│ stm32f4xx_hal_tim.c
│ stm32f4xx_hal_tim_ex.c
└ stm32f4xx_hal_uart.c