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

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

?? lle_mscan.c

?? BCM 控制demo源代碼
?? C
字號:
/*******************************************************************************/
/**
Copyright (c) 2007 Freescale Semiconductor
\file       lle_MSCAN.c
\brief      Driver for basic MSCAN functions
\author     Freescale Semiconductor
\author     B05114
\version    0.2
\date       March/ 2008
*/
/*******************************************************************************/

/** S12X derivative information */ 
#include <MC9S12XEP100.h>    

/** MSCAN definitions */
#include "lle_MSCAN.h"

/*******************************************************************************/
/**
* \brief    MSCAN3 configuration, baud rate=500kbps, 16 bit acceptance filters
* \author   B05114
* \param    void
* \return   void
*/
void lle_CAN_Init(void) 
{
    CAN3CTL0 = 0x01;    /* MSCAN in initialization mode */
        while (!(CAN3CTL1_INITAK))
            ;	        /* Wait for initialization mode acknowledge */
            
    CAN3CTL1_CANE = 1;      /* Enable MSCAN module */
    CAN3CTL1_CLKSRC = 0;    /* Clock source is OSCCLK, CANCLK = 8MHz */    
    CAN3CTL1_LOOPB = 0;     /* Set to 1 for LoopBack Mode, 0 otherwise */
    CAN3CTL1_LISTEN = 0;    /* Not listen only mode */            
           
    /* Baud rate = CANCLK/(Prescaler * time quantas) */                                                                           
    CAN3BTR1_TSEG_10 = 0x04;    /* Time Segment 1 = 5 */
    CAN3BTR1_TSEG_20 = 0x01;    /* Time Segment 2 = 2 */
                                /* TSEG1 + TSEG2 + SYNCH_SEG = 8 time quantas */                              
                                    
    /* Prescaler = CANCLK/(Baud rate * time quantas) = 8MHz/(500kHz * 8) = 2 */    
    CAN3BTR0_BRP = 0x01;    /* Baud rate prescaler = 2 */  
    CAN3BTR0_SJW = 0x01;    /* Sinchronization jump width = 2 clock cycles */
                                  
    CAN3BTR1_SAMP = 0;      /* One sample per bit */	      
         
         
    /* Four 16-bit acceptance filters */ 
    CAN3IDAC_IDAM = 0x01;                                                                        
    
    CAN3IDAR0 = ACC_CODE_ID_HIGH;    /* 16 bit Filter 0 */
    CAN3IDMR0 = MASK_CODE_ST_ID_HIGH;   
    CAN3IDAR1 = ACC_CODE_ID_LOW;     
    CAN3IDMR1 = MASK_CODE_ST_ID_LOW;    
    
    CAN3IDAR2 = 0x00;                   /* 16 bit Filter 1 */
    CAN3IDMR2 = MASK_CODE_ST_ID_HIGH;   
    CAN3IDAR3 = 0x00;                   
    CAN3IDMR3 = MASK_CODE_ST_ID_LOW;    
    
    CAN3IDAR4 = 0x00;                   /* 16 bit Filter 2 */
    CAN3IDMR4 = MASK_CODE_ST_ID_HIGH;   
    CAN3IDAR5 = 0x00;                   
    CAN3IDMR5 = MASK_CODE_ST_ID_LOW;    
    
    CAN3IDAR6 = 0x00;                   /* 16 bit Filter 3 */
    CAN3IDMR6 = MASK_CODE_ST_ID_HIGH;   
    CAN3IDAR7 = 0x00;                   
    CAN3IDMR7 = MASK_CODE_ST_ID_LOW;    
     
    CAN3CTL0_INITRQ = 0; ;            /* Exit initialization mode request */
        while (CAN3CTL1_INITAK)
            ;               	/* Wait for normal mode */
                   
        while(!(CAN3CTL0_SYNCH))
            ;                   /* Wait for CAN synchronization */
   
    CAN3RFLG_RXF = 1;       /* Clear receiver flags */                                   
    CAN3RIER_RXFIE = 1;     /* Enable Full Receive Buffer interrupt */                                  
}

/*******************************************************************************/
/**
* \brief    Set MSCAN3 in listen-only mode 
* \author   B05114
* \param    void
* \return   void
*/
void lle_CAN_ListenOnly(void)
{
    CAN3CTL0_INITRQ = 1;    /* MSCAN in initialization mode */
        while (!(CAN3CTL1_INITAK))
            ;	        /* Wait for initialization mode acknowledge */	
		
	CAN3CTL1_LISTEN = 1;    /* Set MSCAN module in listen mode */
	
	CAN3CTL0_INITRQ = 0;           /* Exit initialization mode request */
        while (CAN3CTL1_INITAK)
            ;               	
}

/*******************************************************************************/
/**
* \brief    CAN frame transmission
* \author   B05114
* \param    u32ID: Identifier           \n 
            u8Prio: Priority            \n
            u8Length: Frame size        \n 
            u8TxData: Data array
* \return   void
*/
UINT8 lle_CAN_SendFrame(UINT32 u32ID, UINT8 u8Prio, UINT8 u8Length, UINT8 *u8TxData)
{   
    /* Counter of transmission attempts */
    UINT8 u8Attempts = 50;
    
    /* Transmission buffer */
    UINT8 u8TxBuffer = {0};
    
    /* Index to data within the transmission buffer */ 
    UINT8 u8Index;
    
    if (!CAN3TFLG)              /* Return if Transmit Buffer is full */
        return ERR_BUFFER_FULL;

    CAN3TBSEL = CAN3TFLG;       /* Select lowest empty buffer */
    u8TxBuffer = CAN3TBSEL;		/* Backup selected buffer */
    
    
    *((UINT32 *) ((UINT32)(&CAN3TXIDR0)))= u32ID;   /* Load Id to IDR Registers */
        
        /* Load data to Data Segment Registers */
        for (u8Index=0;u8Index<u8Length;u8Index++) {
            *(&CAN3TXDSR0 + u8Index) = u8TxData[u8Index];  
        }

    CAN3TXDLR = u8Length;   /* Set Data Length Code */
    CAN3TXTBPR = u8Prio;    /* Set Priority */

    CAN3TFLG = u8TxBuffer;  /* Start transmission */
        
               
        /* Wait for Transmission completion a fixed number of attempts */                    
        while (((CAN3TFLG & u8TxBuffer) != u8TxBuffer) && u8Attempts)
        {
             u8Attempts --;
        }
                  
        if (!u8Attempts)
        {
            /* If attempts counter expires return failure code */ 
            return TX_FAILURE;                       
        } 
        
        else
        {
            /* Indicate sucessfull transmission */  
            return NO_ERR;      
        }
    
 }

/*******************************************************************************/
/**
* \brief    Read CAN reception buffer
* \author   B05114
* \param    void
* \return   void
*/
void lle_CAN_ReceivedFrame(void)
{
    /* Length of received frame */
    UINT8 u8Length;
    
    /* Index for extracting/storing received data */
    UINT8 u8Index;
    
    /* Reception array */
    UINT8 u8RxData[8];

    u8Length = (CAN3RXDLR & 0x0F);  /* Extract received frame data length */
	
	    /* Read and store each of the received data */
	    for (u8Index=0; u8Index<u8Length; u8Index++)
  	        u8RxData[u8Index] = *(&CAN3RXDSR0 + u8Index); 

    CAN3RFLG_RXF = 1;   /* Clear reception flag */     
}

/*******************************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区四区| 极品少妇一区二区三区精品视频 | 日韩va欧美va亚洲va久久| 另类小说色综合网站| 精品一二三四在线| 不卡av电影在线播放| 精品视频999| 亚洲精品一区二区三区在线观看| 欧美激情综合五月色丁香| 亚洲一区二区3| 国模一区二区三区白浆| 99re成人在线| 欧美大度的电影原声| 国产精品久久久久影院老司| 亚洲一区二区av在线| 国产精品一级黄| 欧美日韩中文另类| 国产欧美日韩在线| 天天综合网天天综合色| 成人性生交大合| 日韩一区二区中文字幕| 日韩一区欧美一区| 黄色精品一二区| 欧美羞羞免费网站| 中文文精品字幕一区二区| 午夜一区二区三区视频| 成人激情黄色小说| 日韩精品中文字幕一区| 亚洲激情自拍视频| 国产一区二区在线影院| 欧美日韩中字一区| 国产精品久久久一区麻豆最新章节| 日韩va亚洲va欧美va久久| 99国产欧美另类久久久精品| 精品日韩在线观看| 亚洲第一主播视频| 成人18视频日本| www欧美成人18+| 亚洲福利视频三区| 99久久99久久久精品齐齐| 日韩一级二级三级| 一区二区三区在线视频观看| 高清视频一区二区| 日韩一区二区视频在线观看| 亚洲一级二级三级在线免费观看| 国产成人综合亚洲网站| 精品入口麻豆88视频| 午夜精品福利一区二区蜜股av| 白白色 亚洲乱淫| 久久亚洲私人国产精品va媚药| 五月婷婷综合网| 一本久道久久综合中文字幕 | 丁香婷婷综合激情五月色| 欧美一区二区三区在线看| 亚洲精品美国一| www.欧美.com| 国产三级三级三级精品8ⅰ区| 蜜臀av一区二区三区| 欧美日韩国产美| 亚洲在线一区二区三区| 99国产精品99久久久久久| 亚洲国产精品成人综合色在线婷婷 | 日本欧洲一区二区| 欧美日韩一区二区在线观看| 国产精品久久久久久久久久久免费看 | 国产三级三级三级精品8ⅰ区| 捆绑调教一区二区三区| 3d成人动漫网站| 亚洲福中文字幕伊人影院| 日本高清成人免费播放| 中文字幕日本乱码精品影院| 成人av影院在线| 国产精品高清亚洲| 成人免费观看男女羞羞视频| 欧美经典一区二区| 床上的激情91.| 亚洲国产精品99久久久久久久久| 国产成人免费视频一区| 国产亚洲综合av| 粉嫩aⅴ一区二区三区四区五区| 久久免费视频色| 国产在线精品免费av| 久久精品这里都是精品| 粉嫩av一区二区三区在线播放| 国产精品免费久久| 99精品欧美一区| 一区二区三区日韩在线观看| 欧美色区777第一页| 日韩高清不卡一区| 日韩美女在线视频 | 欧美激情一区三区| 成人午夜又粗又硬又大| 国产精品国产三级国产aⅴ入口| 91污片在线观看| 亚洲女人的天堂| 欧美日韩mp4| 久久国产婷婷国产香蕉| 国产日韩视频一区二区三区| www.色综合.com| 亚洲精品欧美综合四区| 制服丝袜激情欧洲亚洲| 国产一区二区在线影院| **性色生活片久久毛片| 欧美日韩国产成人在线91| 麻豆一区二区在线| 国产精品看片你懂得| 欧美曰成人黄网| 日韩avvvv在线播放| 国产亚洲精品bt天堂精选| 97国产一区二区| 婷婷六月综合网| 久久理论电影网| 色噜噜偷拍精品综合在线| 免费观看一级特黄欧美大片| 久久久影院官网| 91国内精品野花午夜精品| 美国av一区二区| 日韩美女久久久| 91精品福利在线一区二区三区| 国产传媒欧美日韩成人| 亚洲国产精品久久人人爱| 欧美成人video| 色哟哟欧美精品| 黄色资源网久久资源365| 亚洲人成7777| 精品sm在线观看| 欧洲生活片亚洲生活在线观看| 精品无人码麻豆乱码1区2区| 亚洲精品久久嫩草网站秘色| 欧美电影免费观看完整版| 91猫先生在线| 国产乱人伦偷精品视频不卡| 亚洲综合偷拍欧美一区色| 欧美成人欧美edvon| 99国产精品久| 国产美女在线观看一区| 一区二区三区高清在线| 久久久亚洲精品石原莉奈| 欧美日韩一卡二卡三卡| 成人av动漫网站| 久久精品国产99国产| 亚洲制服丝袜在线| 国产精品乱码人人做人人爱| 欧美一区二区三区视频免费播放| 处破女av一区二区| 麻豆91在线看| 午夜精品一区二区三区电影天堂 | 国产九九视频一区二区三区| 亚洲国产精品自拍| 国产精品久久久久久户外露出 | 国产精品久久久久三级| 日韩欧美一级片| 欧美曰成人黄网| 成人黄色网址在线观看| 精品在线一区二区| 日韩精品一区第一页| 亚洲欧洲综合另类| 国产精品入口麻豆原神| 久久精品视频一区| 日韩美女天天操| 777久久久精品| 欧美三级韩国三级日本一级| 91麻豆精品在线观看| 北条麻妃一区二区三区| 国产在线精品一区在线观看麻豆| 美女一区二区久久| 日日摸夜夜添夜夜添精品视频| 一区二区三区加勒比av| 一区在线观看视频| 欧美精彩视频一区二区三区| 2020国产成人综合网| 日韩美一区二区三区| 日韩亚洲欧美在线| 6080yy午夜一二三区久久| 欧美日韩dvd在线观看| 欧美日韩一区二区欧美激情 | 午夜免费久久看| 一区二区三区电影在线播| 1000部国产精品成人观看| 中文字幕亚洲区| 国产精品久久久久影院亚瑟| 国产精品入口麻豆九色| 国产精品免费网站在线观看| 国产精品免费视频观看| 国产精品国产自产拍在线| 国产精品久久久久天堂| 成人欧美一区二区三区小说 | 在线视频观看一区| 欧美高清在线精品一区| 99国产精品久久久| 丝袜美腿亚洲综合| 欧美一区二区日韩一区二区| 免费成人在线影院| 国产日韩欧美精品电影三级在线| 国产不卡免费视频| 一区二区免费视频| 精品久久久久99| 高清国产一区二区| 亚洲一区二区三区在线看| 日韩精品一区二区三区swag|