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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bsp_st.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_st.c
* Description : Function declarations for Simple Timer for the BSP
* Version     : 1.01
*
*       +----- (NEW | MODify | ADD | DELete)                                 
*       |                                                                    
*  No   |   when       who                what               
*-----+---+----------+------------------+--------------------------------------
* 001  MOD  01/04/01   Olivier MAZUYER    Creation
* 002  MOD  06/08/01   Frederic SAMSON    - Take account of both ST0 and ST1 timers
*                                         - Add comments 
* 003  ADD  08/08/01   Frederic SAMSON    - Add BSP_STStartDelay, ST1CH1_InterruptHandler
*                                           ST0CH1_InterruptHandler, ST1CH0_InterruptHandler
*                                           ST1CH1_InterruptHandler 
* 004  MOD  31/01/02   Mahmoud Mesgarzadeh   Clean Up
*----------------------------------------------------------------------------*/


/******************************************************************************
* Includes 
******************************************************************************/
#include "csp.h"
#include "bsp.h"

BSP_ST_CONFIGURE_T BSP_ST_Config_s ;

/******************************************************************************
Function          : BSP_STWaitDelay
Description       : Set the Simple Timer to count down during a particular 
                    delay in ms. Rq : Blocking function.
Input             : *st,channel_u8, delay_u32
Functions called  : CSP_STInit, CSP_STStart, CSP_STStop
Returns           : None
******************************************************************************/
void BSP_STWaitDelay(CSP_ST_T *const st, U16_T channel_u16, U32_T delay_u32)
{
   /* local variables */
   U16_T sysscal_u16  = 0x0 ;
   U8_T  prescalar_u8 = 0x4 ;
   U32_T status_u32   = 0x0;
   unsigned long long counter_val_u64;  
   U32_T prescal_mode_u32;

   /* Compute counter value */
   counter_val_u64 = delay_u32 * (BSP_SYSTEM_CLOCK >> prescalar_u8) / (2 * (sysscal_u16 + 1)) / 1000;

   /* Do until counter value is less than a 16 bits word */
   while (counter_val_u64 > 0xFFFF)
   {
      /* Increment Sysscal : system clock prescalar value */
      sysscal_u16 += 1;

      /* Compute new counter value */
      counter_val_u64 = delay_u32 * (BSP_SYSTEM_CLOCK >> prescalar_u8) / (2 * (sysscal_u16 + 1)) / 1000;        
   }  

   /* Define prescal_mode value */
   prescal_mode_u32 = (sysscal_u16 << 8 | SELECTCLK_SYS << 4 | prescalar_u8);

   /* Simple Timer Init */
   CSP_STInit(st);
   CSP_STConfigureChannel(st, channel_u16, prescal_mode_u32, (U16_T) counter_val_u64);

   /* Simple Timer Start */
   CSP_STEnable(st, channel_u16);
   

   /* Is it Channel 1 ? */
   if(channel_u16 == 0)
   {
      /* Yes, Wait until the channel 1 has reached the end of down counting */
      while ( (status_u32 & CHEND0) != CHEND0 )
      {
         /* Read Status Register */
         status_u32 = CSP_ST_GET_SR(st);
      }
   }

   else
   {
      /* No, Wait until the channel 2 has reach the end of down counting */
      while ( (status_u32 & CHEND1) != CHEND1 )
      {
         /* Read Status Register */
         status_u32 = CSP_ST_GET_SR(st);
      }
   }

   /* Simple Timer Stop */
   CSP_STDisable(st, channel_u16);
}


/******************************************************************************
Function          : BSP_STStartDelay
Description       : Set the Simple Timer to count down during a particular 
                    delay in ms and generate an interrupt on the specified channel
Input             : *st, channel_u8, delay_u32
Functions called  : CSP_STInit, CSP_STStart, CSP_STConfigInterrupt
Returns           : None
******************************************************************************/
void BSP_STStartDelay(CSP_ST_T *const st, U16_T channel_u16, U32_T delay_u32)
{
   /* local variables */
   U16_T sysscal_u16  = 0x0 ;
   U8_T  prescalar_u8 = 0x4 ;
   unsigned long long  counter_val_u64;  
   U32_T prescal_mode_u32;
   U32_T callback_u32;

   /* Compute counter value */
   counter_val_u64 = delay_u32 * (BSP_SYSTEM_CLOCK >> prescalar_u8) / (2 * (sysscal_u16 + 1)) / 1000;

   /* Do until counter value is less than a 16 bits word */
   while (counter_val_u64 > 0xFFFF)
   {
      /* Increment Sysscal : system clock prescalar value */
      sysscal_u16 += 1;

      /* Compute new counter value */
      counter_val_u64 = delay_u32 * (BSP_SYSTEM_CLOCK >> prescalar_u8) / (2 * (sysscal_u16 + 1)) / 1000;        
   }  


   /* Define prescal_mode value */
   prescal_mode_u32 = (sysscal_u16 << 8 | SELECTCLK_SYS | prescalar_u8);

   /* Simple Timer Init */
   CSP_STInit(st);
   CSP_STConfigureChannel(st, channel_u16, prescal_mode_u32, (U16_T) counter_val_u64);

   if (st==ST0) 
   {
       if (channel_u16==0)
       {
           callback_u32= (U32_T) ST0CH0_AsmInterruptHandler;
       }
       else
       {
           callback_u32= (U32_T) ST0CH1_AsmInterruptHandler;
       }
   }
   else
   {
       if (channel_u16==0)
       {
           callback_u32= (U32_T) ST1CH0_AsmInterruptHandler;
       }
       else
       {
           callback_u32= (U32_T) ST1CH1_AsmInterruptHandler;
       }
   }
   
   /* Config interrupt */
   CSP_STConfigInterrupt(st, (HIGH_LEVEL_SENSITIVE|PRIOR_1), channel_u16 + 1, (U32_T) callback_u32);
 
   /* Simple Timer Start */
   CSP_STEnable(st, channel_u16);

}

/******************************************************************************
Function          : ST0CH0_InterruptHandler
Description       : Call to ST0 CH0 callback function 
Input             : None
Functions called  : None
Returns           : None
******************************************************************************/
void ST0CH0_InterruptHandler(void)
{
   (BSP_ST_Config_s.callback_function)(ST0,0x00);
   CSP_ST_SET_CSR(ST0, CHEND0);
}

/******************************************************************************
Function          : ST0CH1_InterruptHandler
Description       : Call to ST0 CH1 callback function 
Input             : None
Functions called  : None
Returns           : None
******************************************************************************/
void ST0CH1_InterruptHandler(void)
{
   (BSP_ST_Config_s.callback_function)(ST0,0x01);
   CSP_ST_SET_CSR(ST0, CHEND1);
}

/******************************************************************************
Function          : ST1CH0_InterruptHandler
Description       : Call to ST1 CH0 callback function 
Input             : None
Functions called  : None
Returns           : None
******************************************************************************/
void ST1CH0_InterruptHandler(void)
{
   (BSP_ST_Config_s.callback_function)(ST1,0x00);
   CSP_ST_SET_CSR(ST1, CHEND0);
}

/******************************************************************************
Function          : ST1CH1_InterruptHandler
Description       : Call to ST1 CH1 callback function 
Input             : None
Functions called  : None
Returns           : None
******************************************************************************/
void ST1CH1_InterruptHandler(void)
{
   (BSP_ST_Config_s.callback_function)(ST1,0x01);
   CSP_ST_SET_CSR(ST1, CHEND1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚州综合| 久久影院午夜片一区| 亚洲精品在线观看网站| 亚洲人精品一区| 欧美日本不卡视频| 国产精品第四页| 精品中文字幕一区二区小辣椒| 91论坛在线播放| 久久久蜜桃精品| 麻豆91小视频| 欧美日韩中字一区| 一区二区三区在线免费| 国产一区二区三区av电影| 91精品国产高清一区二区三区蜜臀 | 91美女在线看| 久久久无码精品亚洲日韩按摩| 亚洲国产欧美在线人成| 91在线国产福利| 国产精品女主播av| 国产不卡在线一区| 亚洲卡通欧美制服中文| 国产在线看一区| 91精品国产乱码久久蜜臀| 亚洲图片有声小说| 91黄色激情网站| 亚洲女子a中天字幕| eeuss鲁一区二区三区| 国产午夜精品久久| 国产一区二区福利| 国产日韩欧美激情| 国产69精品久久99不卡| 日本一区二区综合亚洲| www.欧美精品一二区| 久久精品综合网| 成人av在线播放网址| 国产精品久久久久久久久果冻传媒| 国内精品国产三级国产a久久| 亚洲精品一线二线三线无人区| 久久精品国产在热久久| 欧美精品一区二区在线播放| 蜜臀精品一区二区三区在线观看 | 日韩欧美国产一区二区在线播放 | 国产午夜精品在线观看| 国产999精品久久| 国产精品成人免费在线| 91偷拍与自偷拍精品| 亚洲一区在线视频观看| 欧美日韩免费电影| 久久99国产精品成人| 国产亚洲一区二区三区四区| 国产一区二区三区黄视频| 久久久久久9999| 99精品欧美一区二区蜜桃免费| √…a在线天堂一区| 欧美三级视频在线观看| 另类专区欧美蜜桃臀第一页| 久久精品男人天堂av| 91色视频在线| 日本vs亚洲vs韩国一区三区| 91成人在线精品| 日本不卡一二三| 亚洲精品在线三区| 99久久精品免费观看| 亚洲免费观看高清在线观看| 88在线观看91蜜桃国自产| 精品在线一区二区| 亚洲免费资源在线播放| 欧美一区欧美二区| 菠萝蜜视频在线观看一区| 婷婷丁香激情综合| 国产精品美女久久久久久久久| 欧洲精品在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧美激情视频在线观看一区二区三区| 欧洲生活片亚洲生活在线观看| 精品一区二区综合| 一区二区免费视频| 国产日本亚洲高清| 欧美日韩三级一区二区| 成人黄动漫网站免费app| 亚洲欧美日韩一区二区 | 亚洲成a人v欧美综合天堂| 欧美精品一区二区三区视频 | 久久99精品久久久久婷婷| 综合精品久久久| 久久夜色精品一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 亚洲天堂福利av| 精品国产免费人成电影在线观看四季| 色一情一乱一乱一91av| 国产一区二区三区| 美国毛片一区二区三区| 亚洲综合免费观看高清完整版在线| 国产女人水真多18毛片18精品视频| 99riav一区二区三区| 国产伦精一区二区三区| 青青草国产精品亚洲专区无| 亚洲国产日韩一级| 亚洲欧美视频一区| 中文字幕日韩一区| 国产精品视频yy9299一区| 国产视频一区在线播放| 精品国产乱码久久久久久图片 | 日韩精品1区2区3区| 亚洲精品一二三| 欧美日韩久久一区二区| 亚洲va中文字幕| 国产亚洲欧美日韩日本| www久久久久| 韩日av一区二区| 麻豆成人免费电影| 天天影视色香欲综合网老头| 亚洲一区视频在线观看视频| 一区二区三区四区乱视频| 日韩美女久久久| 亚洲精品大片www| 亚洲影院理伦片| 午夜精品久久一牛影视| 婷婷成人激情在线网| 视频在线在亚洲| 日本不卡一区二区| 美女视频一区在线观看| 精品亚洲成a人在线观看| 国内精品视频一区二区三区八戒 | 欧美一三区三区四区免费在线看| 欧美顶级少妇做爰| 欧美精品一区二区三区蜜臀 | 亚洲人成亚洲人成在线观看图片| 欧美一区二区三区的| 精品国产乱码久久久久久夜甘婷婷| 久久综合九色综合97_久久久| 久久综合色播五月| 中文字幕一区二区视频| 亚洲小说春色综合另类电影| 日韩在线一二三区| 国产毛片精品国产一区二区三区| 国产.欧美.日韩| 欧美亚洲国产一区二区三区| 91精品国产色综合久久ai换脸 | 国内精品嫩模私拍在线| 成人av网站在线观看| 欧美色视频一区| 久久综合狠狠综合久久综合88| 国产精品久久综合| 丝袜美腿成人在线| 精品中文字幕一区二区小辣椒| av男人天堂一区| 91福利精品视频| wwww国产精品欧美| 一区二区三区四区视频精品免费| 免费高清不卡av| 国产成人免费在线观看不卡| 欧美午夜一区二区三区 | 国产99精品视频| 欧美日韩在线一区二区| 久久精品亚洲乱码伦伦中文| 一区二区在线看| 日韩av电影天堂| 97se亚洲国产综合自在线 | 美女视频黄 久久| 91网站最新地址| 26uuu亚洲综合色欧美 | 在线免费观看一区| 久久久一区二区三区| 亚洲一区二区精品视频| 高清不卡一区二区在线| 欧美人动与zoxxxx乱| 国产精品系列在线| 久久国产剧场电影| 精品视频在线免费看| 亚洲国产成人在线| 国内不卡的二区三区中文字幕| 欧美优质美女网站| 国产精品美女久久久久久久久久久 | 亚洲一区自拍偷拍| 不卡一区二区在线| 久久久www免费人成精品| 免费看欧美美女黄的网站| 在线一区二区视频| 亚洲欧美日韩在线播放| 国产1区2区3区精品美女| 欧美精品一区二区三区蜜桃视频| 亚洲国产精品久久久久秋霞影院 | 一区二区三区蜜桃网| 99精品1区2区| 国产精品视频麻豆| 粉嫩13p一区二区三区| 久久久美女毛片| 狠狠色丁香久久婷婷综| 日韩三级视频在线看| 日韩不卡一二三区| 欧美日韩精品免费| 婷婷一区二区三区| 在线不卡a资源高清| 亚洲最新在线观看| 色婷婷精品久久二区二区蜜臂av| 国产精品成人免费| 91片在线免费观看| 亚洲自拍偷拍综合| 欧美日韩卡一卡二|