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

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

?? bsp_gpt.c

?? IAR 平臺ATMEL 的例程, 和說明
?? C
字號:
/*-----------------------------------------------------------------------------
*   EUROPE TECHNOLOGIES Software Support
*------------------------------------------------------------------------------
* The software is delivered "AS IS" without warranty or condition of any
* kind, either express, implied or statutory. This includes without
* limitation any warranty or condition with respect to merchantability or
* fitness for any particular purpose, or against the infringements of
* intellectual property rights of others.
*------------------------------------------------------------------------------
*
* Processor   : easyCAN
* File Name   : bsp_gpt.c
* Description : Function declarations for Timer Channel for the BSP
* Version     : 1.01
*
*       +----- (NEW | MODify | ADD | DELete)                                 
*       |                                                                    
*  No   |   when       who                what               
*-----+---+----------+------------------+--------------------------------------
* 000  NEW  15/06/00   Patrice VILCHEZ    Creation
* 001  MOD  01/04/01   Olivier MAZUYER    Clean up
* 002  MOD  13/07/01   David   LEWIN      Add functions : BSP_GPTLightOnLED 
*                                                         BSP_GPTLightOffLED 
* 003  MOD  31/01/02   Mahmoud Mesgarzadeh   Clean Up
*----------------------------------------------------------------------------*/


/******************************************************************************
Include files
******************************************************************************/
#include "csp.h"
#include "bsp.h"

/******************************************************************************
* Function          : BSP_GPTSetOutput
* Description       : Set Output function of frequency & dutycycle
* Input             : *gpt, tio, frequency, dutycycle
* Functions called  : CSP_GPTInit, CSP_GPTStart, CSP_GPTStop, CSP_GPTPioInit, 
*                     CSP_GPTPioSetStatus, CSP_GPTPioClearStatus
* Returns           : None
******************************************************************************/
void BSP_GPTSetOutput(CSP_GPT_T *const gpt, U32_T tio, U32_T frequency_u32, U16_T dutycycle_u16)
{
  /* local variables */
  U8_T i_u8 = 0;
  U32_T delay_u32;
  U32_T pulse_u32;
  U32_T clk_u32;
  U32_T mode_u32;
  U32_T pin_mask_u32;
  U16_T reg_value_a_u16[3];
     
  clk_u32  = (BSP_SYSTEM_CLOCK / 2);

  if( frequency_u32 != 0)
  {
     /* Define delay & pulse function(frequency/dutycycle/prescalar) */
     delay_u32 = ((clk_u32 * dutycycle_u16) / frequency_u32);
     pulse_u32 = (clk_u32 / (frequency_u32/256)) - delay_u32;

     /* Condition about cycle of clock */
     while( (delay_u32 + pulse_u32) > 0xFFFF )
     {
        //  a modifier fonction prescalar_0 dans MR setMode 
        i_u8++;

        /* Define delay & pulse function(frequency/dutycycle/prescalar) */
        clk_u32   /= 2;
        delay_u32  = ((clk_u32 * dutycycle_u16) / frequency_u32);
        pulse_u32  = ((clk_u32 / (frequency_u32/256)) - delay_u32);
     }
  
     /* Choice of the better Clock */
     switch (i_u8)
     {
        case 0:  
          mode_u32 = CLKS_MCK2;
          break;
        case 1:
          mode_u32 = CLKS_MCK8;
          delay_u32 /= 2;
          pulse_u32 /= 2;
          break;
       case 2:
         mode_u32 = CLKS_MCK8;
         break;
       case 3:
         mode_u32 = CLKS_MCK32;
         delay_u32 /= 2;
         pulse_u32 /= 2 ;
         break;
       case 4:
         mode_u32 = CLKS_MCK32;
         break; 
       case 5:
         mode_u32 = CLKS_MCK128;
         delay_u32 /= 2;
         pulse_u32 /= 2;
         break;
       case 6:
         mode_u32 = CLKS_MCK128; 
         break;
       case 7:
         mode_u32 = CLKS_MCK1024;
         delay_u32 /= 4;
         pulse_u32 /= 4;
         break;
       case 8:
         mode_u32 = CLKS_MCK1024;
         delay_u32 /= 2;
         pulse_u32 /= 2;
         break;
       case 9:
         mode_u32 = CLKS_MCK1024;
         break;
       default :
         mode_u32 = CLKS_MCK1024;
         delay_u32 = (frequency_u32 * dutycycle_u16 / 100) / 2^9;
         pulse_u32 = (frequency_u32 * (1-dutycycle_u16 / 100)) / 2^9;
     }

      // TIOA Or TIOB Output selected
      if (tio == TIOA)
      {  
        /* configure GPT0 with TIOA */
        mode_u32  |= ( WAVE | ACPA_SET | CPCTRG | ACPC_CLEAR);
        reg_value_a_u16[0] = pulse_u32 - 1 ;
        reg_value_a_u16[2] = delay_u32 + pulse_u32 - 1;
      }
      else if (tio == TIOB)
      {
        /* configure GPT0 with TIOB */
        mode_u32 |= ( WAVE | BCPB_SET | CPCTRG | BCPC_CLEAR);
        reg_value_a_u16[1]  = pulse_u32 - 1 ;
        reg_value_a_u16[2]  = delay_u32 + pulse_u32 - 1;
      }
  
      /* Configure GPT mode */
      CSP_GPTInit(gpt, mode_u32, reg_value_a_u16);
      
      /* GPT_Start(GPT0CH0) */
      CSP_GPT_SET_CR(gpt, (SWTRG | CLKEN));          
   }
   
   /* Frequency Egual 0 */ 
   else
   {
      /* Stop Timer Clock */
      CSP_GPTDisable(gpt);
      
      /* Which Timer Channel Line s*/
      if (tio == TIOA)
      {  
        pin_mask_u32 = TIOA;
      }
      else if (tio == TIOB)
      {
        pin_mask_u32 = TIOB;
      }

      /* Set Status Line to Low or High Level */
      if( dutycycle_u16 == 256 )
         CSP_GPTPioSet(gpt, pin_mask_u32);
      else 
         CSP_GPTPioClear(gpt, pin_mask_u32);
            
      /* Configure Line as Pio & Output */
      CSP_GPTPioInit(gpt, pin_mask_u32, pin_mask_u32);
   }
}

/******************************************************************************
* Function          : BSP_GPTLightOnLED
* Description       : Light on LED 
* Input             : led
* Functions called  : None
* Returns           : None
******************************************************************************/
void BSP_GPTLightOnLED(U32_T led)
{
   /* If red LED is selected, do the following to light on red LED */
   if ((led & RED) == RED)
   {
      /* Enable channel 0 PIO clock */
      CSP_GPT_SET_ECR(GPT0CH0, PIO);
      
      /* Enable the PIO to control TIOA1 pin */
      CSP_GPT_SET_PER(GPT0CH0, TIOA);

      /* Enable the PIO output on TIOA1 pin */
      CSP_GPT_SET_OER(GPT0CH0, TIOA);

      /* Set output on TIOA1 pin */
      CSP_GPT_SET_SODR(GPT0CH0, TIOA);
   }

   /* If orange LED is selected, do the following to light on orange LED */
   if ((led & ORANGE) == ORANGE)
   {
      /* Enable channel 0 PIO clock */
      CSP_GPT_SET_ECR(GPT0CH0, PIO);

      /* Enable the PIO to control TIOB0 pin */
      CSP_GPT_SET_PER(GPT0CH0, TIOB);

      /* Enable the PIO output on TIOB0 pin */
      CSP_GPT_SET_OER(GPT0CH0, TIOB);

      /* Set output on TIOB0 pin */
      CSP_GPT_SET_SODR(GPT0CH0, TIOB);
   }

   /* If green LED is selected, do the following to light on green LED */
   if ((led & GREEN) == GREEN)
   {
      /* Enable channel 1 PIO clock */
      CSP_GPT_SET_ECR(GPT0CH1, PIO);

      /* Enable the PIO to control TIOA0 pin */
      CSP_GPT_SET_PER(GPT0CH1, TIOA);

      /* Enable the PIO output on TIOA0 pin */
      CSP_GPT_SET_OER(GPT0CH1, TIOA);

      /* Set output on TIOA0 pin */
      CSP_GPT_SET_SODR(GPT0CH1, TIOA);
   }
} 

/******************************************************************************
* Function          : BSP_GPTLightOffLED
* Description       : Light off LED 
* Input             : led
* Functions called  : None
* Returns           : None
******************************************************************************/
void BSP_GPTLightOffLED(U32_T led)
{
   /* If red LED is selected, do the following to light off red LED */
   if ((led & RED) == RED)
   {
      /* Enable channel 0 PIO clock */
      CSP_GPT_SET_ECR(GPT0CH0, PIO);

      /* Enable the PIO to control TIOA1 pin */
      CSP_GPT_SET_PER(GPT0CH0, TIOA);

      /* Enable the PIO output on TIOA1 pin */
      CSP_GPT_SET_OER(GPT0CH0, TIOA);

      /* Clear output on TIOA1 pin */
      CSP_GPT_SET_CODR(GPT0CH0, TIOA);
   }

   /* If orange LED is selected, do the following to light on orange LED */
   if ((led & ORANGE) == ORANGE)
   {
      /* Enable channel 0 PIO clock */
      CSP_GPT_SET_ECR(GPT0CH0, PIO);

      /* Enable the PIO to control TIOB0 pin */
      CSP_GPT_SET_PER(GPT0CH0, TIOB);

      /* Enable the PIO output on TIOB0 pin */
      CSP_GPT_SET_OER(GPT0CH0, TIOB);

      /* Clear output on TIOB0 pin */
      CSP_GPT_SET_CODR(GPT0CH0, TIOB);
   }

   /* If green LED is selected, do the following to light on green LED */
   if ((led & GREEN) == GREEN)
   {
      /* Enable channel 1 PIO clock */
      CSP_GPT_SET_ECR(GPT0CH1, PIO);

      /* Enable the PIO to control TIOA0 pin */
      CSP_GPT_SET_PER(GPT0CH1, TIOA);

      /* Enable the PIO output on TIOA0 pin */
      CSP_GPT_SET_OER(GPT0CH1, TIOA);

      /* Clear output on TIOA0 pin */
      CSP_GPT_SET_CODR(GPT0CH1, TIOA);
   }
} 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内国产精品久久| 青青草97国产精品免费观看无弹窗版| 豆国产96在线|亚洲| 欧美不卡一区二区三区四区| 精品在线观看视频| 国产午夜精品一区二区三区嫩草| 国产成人夜色高潮福利影视| ...av二区三区久久精品| 日本道在线观看一区二区| 午夜精品久久一牛影视| 欧美一级二级三级蜜桃| 国产盗摄女厕一区二区三区| 中文字幕亚洲欧美在线不卡| 欧美日韩中文另类| 激情六月婷婷综合| 国产精品大尺度| 欧美日韩久久久| 国产麻豆视频一区二区| 一区二区三区影院| 欧美va亚洲va| 一本色道亚洲精品aⅴ| 日韩av一区二区三区四区| 久久精品人人做人人综合 | 国产精品久线在线观看| 欧美三区在线观看| 国产一区二区三区黄视频 | 18成人在线观看| 欧美一区二区三区公司| 成人免费视频视频在线观看免费| 亚洲成人av在线电影| 欧美激情一区二区三区| 欧美日韩免费电影| 国产sm精品调教视频网站| 一区二区三区在线免费视频| 精品乱人伦小说| 91福利社在线观看| 国产夫妻精品视频| 五月天欧美精品| 最新国产精品久久精品| 日韩欧美二区三区| 欧美亚洲综合色| 国产不卡在线一区| 蜜臀精品久久久久久蜜臀| 亚洲欧洲精品天堂一级| 久久新电视剧免费观看| 欧美日韩一区二区三区视频| 成人av免费观看| 国产一区不卡在线| 视频一区国产视频| 亚洲乱码中文字幕综合| 欧美国产乱子伦| 日韩午夜av一区| 欧美少妇一区二区| 97久久精品人人爽人人爽蜜臀| 久久国产精品无码网站| 亚洲午夜国产一区99re久久| 日韩美女视频一区二区| 国产精品素人一区二区| 久久人人97超碰com| 欧美成人vr18sexvr| 911国产精品| 欧美日韩精品一区二区在线播放 | 裸体在线国模精品偷拍| 午夜精品久久久久久久99樱桃 | 亚洲成人高清在线| 亚洲精品视频免费观看| 亚洲色图欧美在线| 国产精品传媒入口麻豆| 国产精品美女久久久久高潮| 久久精品欧美一区二区三区不卡| 日韩精品一区二区三区视频在线观看| 91精品综合久久久久久| 欧美肥大bbwbbw高潮| 欧美日本在线观看| 欧美日韩美少妇| 51精品久久久久久久蜜臀| 欧美日韩一区成人| 欧美精品色一区二区三区| 欧美日韩国产免费一区二区| 欧美日韩三级视频| 91精品国产高清一区二区三区| 欧美日本不卡视频| 欧美一级二级在线观看| 欧美本精品男人aⅴ天堂| 久久综合视频网| 国产午夜精品美女毛片视频| 国产精品久久久久婷婷二区次| 中文字幕亚洲视频| 亚洲国产一二三| 日韩成人免费在线| 韩国在线一区二区| 成人视屏免费看| 一本久道久久综合中文字幕| 欧美人动与zoxxxx乱| 91精品国产免费| 久久精品一区二区三区不卡| 18成人在线观看| 亚洲国产精品久久久久秋霞影院| 日韩精品乱码免费| 国产精品99久久久久久宅男| www.色综合.com| 欧美日韩视频一区二区| 精品国产乱码久久久久久免费| 国产欧美精品区一区二区三区| 亚洲图片激情小说| 午夜精品久久久久久久| 国产一区在线观看视频| 一本色道综合亚洲| 日韩美女在线视频| 中文字幕日韩av资源站| 日韩国产在线观看一区| 国产精品综合在线视频| 91美女视频网站| 欧美一区二区在线播放| 国产精品久99| 日韩精品久久理论片| 成人免费观看视频| 欧美日韩免费一区二区三区 | 欧美精品一区二区在线观看| 一区二区中文字幕在线| 亚洲国产日产av| 成人激情校园春色| 欧美一区二区三区啪啪| 国产精品成人午夜| 九九**精品视频免费播放| 色乱码一区二区三区88| 26uuu色噜噜精品一区二区| 亚洲女同女同女同女同女同69| 久久成人免费网| 色哦色哦哦色天天综合| 亚洲国产成人自拍| 久久99在线观看| 91高清在线观看| 国产精品二区一区二区aⅴ污介绍| 日韩成人免费电影| 日本高清无吗v一区| xnxx国产精品| 青青草原综合久久大伊人精品优势| 91色婷婷久久久久合中文| 日韩欧美亚洲国产精品字幕久久久| 一区二区三区毛片| 成人av在线电影| 国产视频一区在线播放| 麻豆视频一区二区| 欧美久久久影院| 亚洲欧美另类图片小说| 成人免费毛片高清视频| 国产亚洲综合在线| 久久精品免费看| 91精品国产综合久久久久久漫画| 亚洲精品国久久99热| 国产99精品国产| 国产日韩精品一区| 久久99精品久久久| 日韩欧美国产不卡| 蜜臀av性久久久久av蜜臀妖精| 欧美日本精品一区二区三区| 亚洲一区二区视频在线观看| 一本久道中文字幕精品亚洲嫩 | 亚洲午夜免费电影| 色一情一乱一乱一91av| 亚洲日本丝袜连裤袜办公室| 成人精品视频一区二区三区| 国产精品欧美精品| 国产91丝袜在线18| 国产欧美日韩综合精品一区二区| 国产在线播放一区三区四| 久久亚洲捆绑美女| 国产suv精品一区二区883| 国产精品婷婷午夜在线观看| 成人国产精品免费观看视频| 最近中文字幕一区二区三区| 91免费看片在线观看| 亚洲激情校园春色| 欧美日韩日本视频| 蜜桃视频在线一区| wwwwxxxxx欧美| 高清shemale亚洲人妖| 国产精品久久网站| 色老汉av一区二区三区| 亚洲图片欧美综合| 日韩欧美国产综合| 国产不卡在线视频| 国产精品黄色在线观看| 91久久国产综合久久| 日本中文一区二区三区| 久久久久久久一区| 91亚洲精品乱码久久久久久蜜桃 | 国产亚洲成aⅴ人片在线观看 | 色婷婷综合久久| 日韩高清不卡一区二区三区| 欧美一级片在线看| 国产高清一区日本| 亚洲男女一区二区三区| 欧美日韩高清一区二区不卡| 韩国av一区二区三区在线观看| 中文字幕成人av| 精品视频在线视频| 国产在线观看一区二区| 自拍偷自拍亚洲精品播放|