亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? stm32f10x_encoder.lst

?? STM32利用正交編碼器實(shí)現(xiàn)電機(jī)的控制
?? LST
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32               15/May/2008  12:06:30 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM        #
#                       Encoder\example\project\source\stm32f10x_encoder.c   #
#    Command line    =  "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       #
#                       Encoder\example\project\source\stm32f10x_encoder.c"  #
#                       -D VECT_TAB_FLASH -lcN "C:\David JIANG\ST            #
#                       MCU\Docs\STM32\AN_JIANG\TIM                          #
#                       Encoder\example\project\EWARM\BOOT_FLASH\List\" -lb  #
#                       "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       #
#                       Encoder\example\project\EWARM\BOOT_FLASH\List\" -o   #
#                       "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       #
#                       Encoder\example\project\EWARM\BOOT_FLASH\Obj\" -z3   #
#                       --no_cse --no_unroll --no_inline --no_code_motion    #
#                       --no_tbaa --no_clustering --no_scheduling --debug    #
#                       --cpu_mode thumb --endian little --cpu cortex-M3     #
#                       --stack_align 4 --require_prototypes --fpu None      #
#                       --dlib_config "C:\Program Files\IAR                  #
#                       Systems\Embedded Workbench                           #
#                       4.0\arm\LIB\dl7mptnnl8f.h" -I "C:\David JIANG\ST     #
#                       MCU\Docs\STM32\AN_JIANG\TIM                          #
#                       Encoder\example\project\EWARM\" -I "C:\David         #
#                       JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM                 #
#                       Encoder\example\project\EWARM\..\include\" -I        #
#                       "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       #
#                       Encoder\example\project\EWARM\..\..\FWLib\inc\" -I   #
#                       "C:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0\arm\INC\"                                        #
#    List file       =  C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM        #
#                       Encoder\example\project\EWARM\BOOT_FLASH\List\stm32f #
#                       10x_encoder.lst                                      #
#    Object file     =  C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM        #
#                       Encoder\example\project\EWARM\BOOT_FLASH\Obj\stm32f1 #
#                       0x_encoder.r79                                       #
#                                                                            #
#                                                                            #
##############################################################################

C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM Encoder\example\project\source\stm32f10x_encoder.c
      1          /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
      2          * File Name          : stm32f10x_encoder.c 
      3          * Author             : IMS Systems Lab  
      4          * Date First Issued  : 21/11/07
      5          * Description        : This file contains the software implementation for the
      6          *                      encoder unit
      7          ********************************************************************************
      8          * History:
      9          * 21/11/07 v1.0
     10          ********************************************************************************
     11          * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
     12          * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
     13          * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
     14          * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
     15          * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
     16          * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
     17          *******************************************************************************/
     18          /* Includes ------------------------------------------------------------------*/
     19          #include "stm32f10x_lib.h"
     20          #include "stm32f10x_encoder.h"
     21          #include "lcd.h"
     22          
     23          /* Private typedef -----------------------------------------------------------*/
     24          /* Private define ------------------------------------------------------------*/
     25          #define ENCODER_TIMER   TIM3  // Encoder unit connected to TIM3
     26          #define ENCODER_PPR           (u16)(400)   // number of pulses per revolution
     27          #define SPEED_BUFFER_SIZE 8
     28          
     29          #define COUNTER_RESET   (u16)0
     30          #define ICx_FILTER      (u8) 6 // 6<-> 670nsec
     31          
     32          #define TIMx_PRE_EMPTION_PRIORITY 1
     33          #define TIMx_SUB_PRIORITY 0
     34          
     35          #define SPEED_SAMPLING_FREQ (u16)(2000/(SPEED_SAMPLING_TIME+1))
     36          
     37          /* Private functions ---------------------------------------------------------*/
     38          s16 ENC_Calc_Rot_Speed(void);
     39          
     40          /* Private variables ---------------------------------------------------------*/
     41          static s16 hPrevious_angle, hSpeed_Buffer[SPEED_BUFFER_SIZE], hRot_Speed;
     42          static u8 bSpeed_Buffer_Index = 0;
     43          static volatile u16 hEncoder_Timer_Overflow; 
     44          static bool bIs_First_Measurement = TRUE;
     45          
     46          /*******************************************************************************
     47          * Function Name  : ENC_Init
     48          * Description    : General Purpose Timer x set-up for encoder speed/position 
     49          *                  sensors
     50          * Input          : None
     51          * Output         : None
     52          * Return         : None
     53          *******************************************************************************/
     54          void ENC_Init(void)
     55          {
     56            TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
     57            TIM_ICInitTypeDef TIM_ICInitStructure;
     58            
     59          /* Encoder unit connected to TIM3, 4X mode */    
     60            GPIO_InitTypeDef GPIO_InitStructure;
     61            NVIC_InitTypeDef NVIC_InitStructure;
     62            
     63            /* TIM3 clock source enable */
     64            RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
     65            /* Enable GPIOA, clock */
     66            RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
     67            
     68            GPIO_StructInit(&GPIO_InitStructure);
     69            /* Configure PA.06,07 as encoder input */
     70            GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
     71            GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
     72            GPIO_Init(GPIOA, &GPIO_InitStructure);
     73            
     74            /* Enable the TIM3 Update Interrupt */
     75            NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQChannel;
     76            NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = TIMx_PRE_EMPTION_PRIORITY;
     77            NVIC_InitStructure.NVIC_IRQChannelSubPriority = TIMx_SUB_PRIORITY;
     78            NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
     79            NVIC_Init(&NVIC_InitStructure);
     80          
     81            /* Timer configuration in Encoder mode */
     82            TIM_DeInit(ENCODER_TIMER);
     83            TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
     84            
     85            TIM_TimeBaseStructure.TIM_Prescaler = 0x0;  // No prescaling 
     86            TIM_TimeBaseStructure.TIM_Period = (4*ENCODER_PPR)-1;  
     87            TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
     88            TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;   
     89            TIM_TimeBaseInit(ENCODER_TIMER, &TIM_TimeBaseStructure);
     90           
     91            TIM_EncoderInterfaceConfig(ENCODER_TIMER, TIM_EncoderMode_TI12, 
     92                                       TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
     93            TIM_ICStructInit(&TIM_ICInitStructure);
     94            TIM_ICInitStructure.TIM_ICFilter = ICx_FILTER;
     95            TIM_ICInit(ENCODER_TIMER, &TIM_ICInitStructure);
     96            
     97           // Clear all pending interrupts
     98            TIM_ClearFlag(ENCODER_TIMER, TIM_FLAG_Update);
     99            TIM_ITConfig(ENCODER_TIMER, TIM_IT_Update, ENABLE);
    100            //Reset counter
    101            TIM2->CNT = COUNTER_RESET;
    102            
    103            ENC_Clear_Speed_Buffer();
    104            
    105            TIM_Cmd(ENCODER_TIMER, ENABLE);  
    106          }
    107          
    108          /*******************************************************************************
    109          * Function Name  : ENC_Get_Electrical_Angle
    110          * Description    : Returns the absolute electrical Rotor angle 
    111          * Input          : None
    112          * Output         : None
    113          * Return         : Rotor electrical angle: 0 -> 0 degrees, 
    114          *                                          S16_MAX-> 180 degrees, 
    115          *                                          S16_MIN-> -180 degrees                  
    116          *******************************************************************************/
    117          s16 ENC_Get_Electrical_Angle(void)
    118          {
    119            s32 temp;
    120            
    121            temp = (s32)(TIM_GetCounter(ENCODER_TIMER)) * (s32)(U32_MAX / (4*ENCODER_PPR)); 
    122            return((s16)(temp/65536)); // s16 result
    123          }
    124          
    125          /*******************************************************************************
    126          * Function Name  : ENC_Clear_Speed_Buffer
    127          * Description    : Clear speed buffer used for average speed calculation  
    128          * Input          : None
    129          * Output         : None
    130          * Return         : None
    131          *******************************************************************************/
    132          void ENC_Clear_Speed_Buffer(void)
    133          {   
    134            u32 i;
    135          
    136            for (i=0;i<SPEED_BUFFER_SIZE;i++)
    137            {
    138              hSpeed_Buffer[i] = 0;
    139            }
    140            bIs_First_Measurement = TRUE;
    141          }
    142          
    143          /*******************************************************************************
    144          * Function Name  : ENC_Calc_Rot_Speed
    145          * Description    : Compute return latest speed measurement 
    146          * Input          : None
    147          * Output         : s16
    148          * Return         : Return the speed in 0.1 Hz resolution.                    
    149          *******************************************************************************/
    150          s16 ENC_Calc_Rot_Speed(void)
    151          {   
    152            s32 wDelta_angle;
    153            u16 hEnc_Timer_Overflow_sample_one, hEnc_Timer_Overflow_sample_two;
    154            u16 hCurrent_angle_sample_one, hCurrent_angle_sample_two;
    155            signed long long temp;
    156            s16 haux;
    157            
    158            if (!bIs_First_Measurement)
    159            {
    160              // 1st reading of overflow counter    
    161              hEnc_Timer_Overflow_sample_one = hEncoder_Timer_Overflow; 
    162              // 1st reading of encoder timer counter
    163              hCurrent_angle_sample_one = ENCODER_TIMER->CNT;
    164              // 2nd reading of overflow counter
    165              hEnc_Timer_Overflow_sample_two = hEncoder_Timer_Overflow;  
    166              // 2nd reading of encoder timer counter
    167              hCurrent_angle_sample_two = ENCODER_TIMER->CNT;      
    168          
    169              // Reset hEncoder_Timer_Overflow and read the counter value for the next
    170              // measurement
    171              hEncoder_Timer_Overflow = 0;
    172              haux = ENCODER_TIMER->CNT;   
    173              
    174              if (hEncoder_Timer_Overflow != 0) 
    175              {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本成人中文字幕在线视频| 大胆欧美人体老妇| 国产在线不卡一卡二卡三卡四卡| 成人一区在线看| 欧美日韩一区二区三区四区五区| 国产天堂亚洲国产碰碰| 亚洲va欧美va人人爽午夜| 国产成人免费高清| 欧美一区二区视频观看视频| 中文字幕一区二区三区精华液| 日韩二区三区在线观看| 91丨porny丨国产入口| 26uuu亚洲婷婷狠狠天堂| 亚洲国产成人av| 91色九色蝌蚪| 国产精品久久久久aaaa樱花| 久久99国内精品| 欧美精品乱码久久久久久| 亚洲色图色小说| 北条麻妃一区二区三区| 久久久久久久网| 看国产成人h片视频| 欧美老女人第四色| 亚洲18女电影在线观看| 欧洲视频一区二区| 亚洲美女区一区| 成人av在线资源网站| 国产人成亚洲第一网站在线播放| 国产精品 欧美精品| 久久久蜜臀国产一区二区| 麻豆成人免费电影| 日韩三级在线观看| 久热成人在线视频| 亚洲精品在线免费播放| 麻豆精品视频在线观看视频| 91精品国产手机| 日本aⅴ亚洲精品中文乱码| 欧美另类高清zo欧美| 性久久久久久久| 91精品国产一区二区三区| 奇米精品一区二区三区四区| 91精品一区二区三区久久久久久| 日本女人一区二区三区| 日韩欧美色综合| 国产一区视频导航| 亚洲国产成人午夜在线一区| av亚洲精华国产精华精华| 亚洲欧美日韩一区二区 | 日韩一区欧美一区| 91同城在线观看| 亚洲成人你懂的| 日韩欧美国产三级电影视频| 国内外成人在线| 18欧美乱大交hd1984| 欧美主播一区二区三区| 强制捆绑调教一区二区| 国产亚洲va综合人人澡精品| av在线不卡网| 午夜av电影一区| 久久久三级国产网站| 91麻豆成人久久精品二区三区| 亚洲va天堂va国产va久| 精品国精品国产| 色菇凉天天综合网| 麻豆久久久久久久| 亚洲日本一区二区| 日韩三级免费观看| 99国产精品久久久久| 日本大胆欧美人术艺术动态| 欧美激情综合五月色丁香| 色哟哟亚洲精品| 免费人成精品欧美精品| 国产精品久久免费看| 88在线观看91蜜桃国自产| 国产91精品免费| 亚洲一区二区三区四区在线观看 | 精品日韩欧美一区二区| 99精品视频一区| 六月丁香综合在线视频| 国产精品传媒视频| 日韩欧美资源站| 日本电影欧美片| 国产成人免费视频一区| 日韩成人一级大片| 依依成人综合视频| 欧美国产欧美综合| 欧美tickling挠脚心丨vk| 91传媒视频在线播放| 国产成人精品亚洲日本在线桃色| 五月天婷婷综合| 一区二区三区在线观看国产| 久久久久成人黄色影片| 宅男噜噜噜66一区二区66| 91免费版pro下载短视频| 国产成人综合在线观看| 免费日韩伦理电影| 五月天国产精品| 亚洲国产中文字幕| 亚洲免费观看高清完整版在线观看 | 久久久久久一二三区| 7777精品伊人久久久大香线蕉| 色诱视频网站一区| av激情亚洲男人天堂| 成人亚洲精品久久久久软件| 久久国产精品区| 日精品一区二区三区| 亚洲最大的成人av| 成人免费在线视频观看| 国产精品视频一二三区| 欧美激情一区二区三区不卡| 337p日本欧洲亚洲大胆精品| 日韩免费性生活视频播放| 91精品视频网| 8x8x8国产精品| 欧美一级精品大片| 日韩欧美不卡一区| 精品国产一区二区三区av性色| 中文字幕国产一区| 中文字幕av一区二区三区免费看| 26uuu国产在线精品一区二区| 日韩欧美一二区| 精品国内二区三区| 国产亚洲欧洲997久久综合| 久久精品一区二区三区av| 日本一区二区在线不卡| 国产精品色一区二区三区| 国产精品久久久久毛片软件| 亚洲三级在线免费观看| 亚洲一线二线三线视频| 日本中文字幕一区二区视频 | 热久久国产精品| 美女高潮久久久| 国产福利电影一区二区三区| 高清日韩电视剧大全免费| 99免费精品视频| 在线观看不卡一区| 7777精品伊人久久久大香线蕉经典版下载| 制服丝袜中文字幕一区| 2017欧美狠狠色| 综合电影一区二区三区| 亚洲国产精品久久人人爱| 免费在线观看成人| 粉嫩aⅴ一区二区三区四区五区| 99久久综合精品| 制服.丝袜.亚洲.另类.中文| 久久久久久久久久美女| 亚洲色图制服诱惑 | 欧美性生活影院| 日韩欧美久久久| 最新中文字幕一区二区三区| 午夜精品久久久久| 国产乱理伦片在线观看夜一区| 一本久久精品一区二区| 欧美一区二区三区在线| 国产精品剧情在线亚洲| 日韩精品国产欧美| www.欧美色图| 欧美一级国产精品| 亚洲欧美一区二区三区久本道91 | 亚洲免费视频成人| 久久99热99| 欧美三级电影一区| 国产精品三级在线观看| 视频在线观看一区| 成人av电影在线| 26uuu色噜噜精品一区| 亚洲一区二区欧美日韩 | 欧美激情在线看| 日本不卡一区二区三区| av在线一区二区| 国产欧美一区二区在线| 日本一不卡视频| 欧美天天综合网| 中文字幕一区不卡| 国产福利视频一区二区三区| 在线不卡中文字幕播放| 黑人精品欧美一区二区蜜桃| 欧美性感一区二区三区| 国产欧美精品日韩区二区麻豆天美| 一卡二卡三卡日韩欧美| 成人国产一区二区三区精品| 精品国产乱码久久久久久蜜臀| 午夜影院在线观看欧美| 色8久久人人97超碰香蕉987| 国产精品久久三区| 成人高清视频在线| 国产精品美女久久久久久2018| 国产一区二区在线视频| 日韩欧美国产一区二区在线播放| 亚洲第一成年网| 欧美日韩一区二区在线观看视频| 亚洲精品成人悠悠色影视| 99re亚洲国产精品| 综合久久给合久久狠狠狠97色| 懂色av一区二区在线播放| 国产欧美日韩三区| 成人理论电影网| 国产精品青草综合久久久久99| 国产不卡在线一区| 亚洲国产成人午夜在线一区|