找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3162|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

stm32正交編碼器源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:373606 發(fā)表于 2018-7-17 20:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
stm32正交編碼器

單片機源程序如下:
  1. #include "STM32F1.h"

  2. u16        Parameter = 400;                                                                                                                                        //輸入編碼器線數(shù)
  3. u16 Count,Old_Count;

  4. int main(void)
  5. {
  6.         delay_init();                                                                                                                                                     //延時函數(shù)初始化          
  7.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                  //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
  8.         uart_init(115200);                                                                                                                                         //串口初始化為115200
  9.         LCD_Init();                                                                                                                                                                   //初始化LCD  
  10.         TIM_Init();                                                                                                                                                                //初始化TIM4為編碼器借口模式
  11.         POINT_COLOR=BLUE;                                                                                                                                                //字體顏色
  12.         LCD_ShowString(75,150,200,16,16,"Count:");
  13.         LCD_ShowNum(125,150,0,1,16);
  14.         LCD_ShowNum(135,150,0,1,16);
  15.         LCD_ShowNum(145,150,0,1,16);
  16.         LCD_ShowNum(155,150,0,1,16);
  17.   while(1)
  18.         {
  19.                 Old_Count = Count;                                                                                                                                //獲取先前的計數(shù)值
  20.                 Count = TIM4->CNT;       
  21.                 printf("數(shù)值");                                                                                                                //獲取編碼器當前數(shù)值
  22.                 if(Old_Count != Count)                                                                                                                //如果先前的計數(shù)值與當前計數(shù)值不相等,說明編碼器已轉(zhuǎn)動打印當前數(shù)值
  23.                 {
  24.                         printf("數(shù)值 = %d\n",Count);                                                                                //串口打印數(shù)值
  25.                         LCD_ShowNum(125,150,Count/1000,1,16);                                                //液晶顯示數(shù)值
  26.                         LCD_ShowNum(135,150,(Count%1000)/100,1,16);
  27.                         LCD_ShowNum(145,150,(Count%100)/10,1,16);
  28.                         LCD_ShowNum(155,150,Count%10,1,16);
  29.                 }               
  30.         }
  31. }
復(fù)制代碼

所有資料51hei提供下載:
STM32正交編碼器.rar (318.61 KB, 下載次數(shù): 76)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:389520 發(fā)表于 2019-7-25 14:47 | 只看該作者
TIM3是做什么用的
回復(fù)

使用道具 舉報

板凳
ID:228452 發(fā)表于 2022-4-6 01:26 | 只看該作者
So far this is 16 bit counter, looking for 32 bit plus sign
Thank you
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表