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

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

?? stm32f10x_can.h

?? Cortex-M3 CAN源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號(hào):
/**
  ******************************************************************************
  * @file    stm32f10x_can.h
  * @author  MCD Application Team
  * @version V3.1.0
  * @date    06/19/2009
  * @brief   This file contains all the functions prototypes for the CAN firmware 
  *          library.
  ******************************************************************************
  * @copy
  *
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  *
  * <h2><center>&copy; COPYRIGHT 2009 STMicroelectronics</center></h2>
  */ 

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F10x_CAN_H
#define __STM32F10x_CAN_H

#ifdef __cplusplus
 extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"

/** @addtogroup STM32F10x_StdPeriph_Driver
  * @{
  */

/** @addtogroup CAN
  * @{
  */

/** @defgroup CAN_Exported_Types
  * @{
  */

#define IS_CAN_ALL_PERIPH(PERIPH) (((PERIPH) == CAN1) || \
                                   ((PERIPH) == CAN2))

/** 
  * @brief  CAN init structure definition
  */

typedef struct
{
  uint16_t CAN_Prescaler;   /*!< Specifies the length of a time quantum. It ranges from 1 to 1024. */
  
  uint8_t CAN_Mode;         /*!< Specifies the CAN operating mode.
                                 This parameter can be a value of @ref CAN_operating_mode */

  uint8_t CAN_SJW;          /*!< Specifies the maximum number of time quanta the CAN hardware
                                 is allowed to lengthen or shorten a bit to perform resynchronization.
                                 This parameter can be a value of @ref CAN_synchronisation_jump_width */

  uint8_t CAN_BS1;          /*!< Specifies the number of time quanta in Bit Segment 1.
                                 This parameter can be a value of @ref CAN_time_quantum_in_bit_segment_1 */

  uint8_t CAN_BS2;          /*!< Specifies the number of time quanta in Bit Segment 2.
                                 This parameter can be a value of @ref CAN_time_quantum_in_bit_segment_2 */
  
  FunctionalState CAN_TTCM; /*!< Enable or disable the time triggered communication mode.
                                 This parameter can be set either to ENABLE or DISABLE. */
  
  FunctionalState CAN_ABOM;  /*!< Enable or disable the automatic bus-off management.
                                 This parameter can be set either to ENABLE or DISABLE. */

  FunctionalState CAN_AWUM;  /*!< Enable or disable the automatic wake-up mode. 
                                 This parameter can be set either to ENABLE or DISABLE. */

  FunctionalState CAN_NART;  /*!< Enable or disable the no-automatic retransmission mode.
                                 This parameter can be set either to ENABLE or DISABLE. */

  FunctionalState CAN_RFLM;  /*!< Enable or disable the Receive FIFO Locked mode.
                                 This parameter can be set either to ENABLE or DISABLE. */

  FunctionalState CAN_TXFP;  /*!< Enable or disable the transmit FIFO priority.
                                 This parameter can be set either to ENABLE or DISABLE. */
} CAN_InitTypeDef;

/** 
  * @brief  CAN filter init structure definition
  */

typedef struct
{
  uint16_t CAN_FilterIdHigh;             /*!< Specifies the filter identification number (MSBs for a 32-bit
                                              configuration, first one for a 16-bit configuration).
                                              This parameter can be a value between 0x0000 and 0xFFFF */

  uint16_t CAN_FilterIdLow;              /*!< Specifies the filter identification number (LSBs for a 32-bit
                                              configuration, second one for a 16-bit configuration).
                                              This parameter can be a value between 0x0000 and 0xFFFF */

  uint16_t CAN_FilterMaskIdHigh;         /*!< Specifies the filter mask number or identification number,
                                              according to the mode (MSBs for a 32-bit configuration,
                                              first one for a 16-bit configuration).
                                              This parameter can be a value between 0x0000 and 0xFFFF */

  uint16_t CAN_FilterMaskIdLow;          /*!< Specifies the filter mask number or identification number,
                                              according to the mode (LSBs for a 32-bit configuration,
                                              second one for a 16-bit configuration).
                                              This parameter can be a value between 0x0000 and 0xFFFF */

  uint16_t CAN_FilterFIFOAssignment;     /*!< Specifies the FIFO (0 or 1) which will be assigned to the filter.
                                              This parameter can be a value of @ref CAN_filter_FIFO */
  
  uint8_t CAN_FilterNumber;              /*!< Specifies the filter which will be initialized. It ranges from 0 to 13. */

  uint8_t CAN_FilterMode;                /*!< Specifies the filter mode to be initialized.
                                              This parameter can be a value of @ref CAN_filter_mode */

  uint8_t CAN_FilterScale;               /*!< Specifies the filter scale.
                                              This parameter can be a value of @ref CAN_filter_scale */

  FunctionalState CAN_FilterActivation;  /*!< Enable or disable the filter.
                                              This parameter can be set either to ENABLE or DISABLE. */
} CAN_FilterInitTypeDef;

/** 
  * @brief  CAN Tx message structure definition  
  */

typedef struct
{
  uint32_t StdId;  /*!< Specifies the standard identifier.
                        This parameter can be a value between 0 to 0x7FF. */

  uint32_t ExtId;  /*!< Specifies the extended identifier.
                        This parameter can be a value between 0 to 0x1FFFFFFF. */

  uint8_t IDE;     /*!< Specifies the type of identifier for the message that will be transmitted.
                        This parameter can be a value of @ref CAN_identifier_type */

  uint8_t RTR;     /*!< Specifies the type of frame for the message that will be transmitted.
                        This parameter can be a value of @ref CAN_remote_transmission_request */

  uint8_t DLC;     /*!< Specifies the length of the frame that will be transmitted.
                        This parameter can be a value between 0 to 8 */

  uint8_t Data[8]; /*!< Contains the data to be transmitted. It ranges from 0 to 0xFF. */
} CanTxMsg;

/** 
  * @brief  CAN Rx message structure definition  
  */

typedef struct
{
  uint32_t StdId;  /*!< Specifies the standard identifier.
                        This parameter can be a value between 0 to 0x7FF. */

  uint32_t ExtId;  /*!< Specifies the extended identifier.
                        This parameter can be a value between 0 to 0x1FFFFFFF. */

  uint8_t IDE;     /*!< Specifies the type of identifier for the message that will be received.
                        This parameter can be a value of @ref CAN_identifier_type */

  uint8_t RTR;     /*!< Specifies the type of frame for the received message.
                        This parameter can be a value of @ref CAN_remote_transmission_request */

  uint8_t DLC;     /*!< Specifies the length of the frame that will be received.
                        This parameter can be a value between 0 to 8 */

  uint8_t Data[8]; /*!< Contains the data to be received. It ranges from 0 to 0xFF. */

  uint8_t FMI;     /*!< Specifies the index of the filter the message stored in the mailbox passes through.
                        This parameter can be a value between 0 to 0xFF */
} CanRxMsg;

/**
  * @}
  */

/** @defgroup CAN_Exported_Constants
  * @{
  */

/** @defgroup CAN_sleep_constants 
  * @{
  */

#define CANINITFAILED              ((uint8_t)0x00) /*!< CAN initialization failed */
#define CANINITOK                  ((uint8_t)0x01) /*!< CAN initialization failed */

/**
  * @}
  */

/** @defgroup CAN_operating_mode 
  * @{
  */

#define CAN_Mode_Normal             ((uint8_t)0x00)  /*!< normal mode */
#define CAN_Mode_LoopBack           ((uint8_t)0x01)  /*!< loopback mode */
#define CAN_Mode_Silent             ((uint8_t)0x02)  /*!< silent mode */
#define CAN_Mode_Silent_LoopBack    ((uint8_t)0x03)  /*!< loopback combined with silent mode */

#define IS_CAN_MODE(MODE) (((MODE) == CAN_Mode_Normal) || ((MODE) == CAN_Mode_LoopBack)|| \
                           ((MODE) == CAN_Mode_Silent) || ((MODE) == CAN_Mode_Silent_LoopBack))
/**
  * @}
  */

/** @defgroup CAN_synchronisation_jump_width 
  * @{
  */

#define CAN_SJW_1tq                 ((uint8_t)0x00)  /*!< 1 time quantum */
#define CAN_SJW_2tq                 ((uint8_t)0x01)  /*!< 2 time quantum */
#define CAN_SJW_3tq                 ((uint8_t)0x02)  /*!< 3 time quantum */
#define CAN_SJW_4tq                 ((uint8_t)0x03)  /*!< 4 time quantum */

#define IS_CAN_SJW(SJW) (((SJW) == CAN_SJW_1tq) || ((SJW) == CAN_SJW_2tq)|| \
                         ((SJW) == CAN_SJW_3tq) || ((SJW) == CAN_SJW_4tq))
/**
  * @}
  */

/** @defgroup CAN_time_quantum_in_bit_segment_1 
  * @{
  */

#define CAN_BS1_1tq                 ((uint8_t)0x00)  /*!< 1 time quantum */
#define CAN_BS1_2tq                 ((uint8_t)0x01)  /*!< 2 time quantum */
#define CAN_BS1_3tq                 ((uint8_t)0x02)  /*!< 3 time quantum */
#define CAN_BS1_4tq                 ((uint8_t)0x03)  /*!< 4 time quantum */
#define CAN_BS1_5tq                 ((uint8_t)0x04)  /*!< 5 time quantum */
#define CAN_BS1_6tq                 ((uint8_t)0x05)  /*!< 6 time quantum */
#define CAN_BS1_7tq                 ((uint8_t)0x06)  /*!< 7 time quantum */
#define CAN_BS1_8tq                 ((uint8_t)0x07)  /*!< 8 time quantum */
#define CAN_BS1_9tq                 ((uint8_t)0x08)  /*!< 9 time quantum */
#define CAN_BS1_10tq                ((uint8_t)0x09)  /*!< 10 time quantum */
#define CAN_BS1_11tq                ((uint8_t)0x0A)  /*!< 11 time quantum */
#define CAN_BS1_12tq                ((uint8_t)0x0B)  /*!< 12 time quantum */
#define CAN_BS1_13tq                ((uint8_t)0x0C)  /*!< 13 time quantum */
#define CAN_BS1_14tq                ((uint8_t)0x0D)  /*!< 14 time quantum */
#define CAN_BS1_15tq                ((uint8_t)0x0E)  /*!< 15 time quantum */
#define CAN_BS1_16tq                ((uint8_t)0x0F)  /*!< 16 time quantum */

#define IS_CAN_BS1(BS1) ((BS1) <= CAN_BS1_16tq)
/**
  * @}
  */

/** @defgroup CAN_time_quantum_in_bit_segment_2 
  * @{
  */

#define CAN_BS2_1tq                 ((uint8_t)0x00)  /*!< 1 time quantum */
#define CAN_BS2_2tq                 ((uint8_t)0x01)  /*!< 2 time quantum */
#define CAN_BS2_3tq                 ((uint8_t)0x02)  /*!< 3 time quantum */
#define CAN_BS2_4tq                 ((uint8_t)0x03)  /*!< 4 time quantum */
#define CAN_BS2_5tq                 ((uint8_t)0x04)  /*!< 5 time quantum */
#define CAN_BS2_6tq                 ((uint8_t)0x05)  /*!< 6 time quantum */
#define CAN_BS2_7tq                 ((uint8_t)0x06)  /*!< 7 time quantum */
#define CAN_BS2_8tq                 ((uint8_t)0x07)  /*!< 8 time quantum */

#define IS_CAN_BS2(BS2) ((BS2) <= CAN_BS2_8tq)

/**

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
777亚洲妇女| 9191精品国产综合久久久久久| 亚洲电影你懂得| 国产欧美中文在线| 欧美一级理论性理论a| 91色.com| 色哟哟欧美精品| 波多野结衣精品在线| 国产成人综合网站| 亚洲国产一区在线观看| 日韩视频一区二区在线观看| 99视频精品免费视频| 亚洲人成小说网站色在线 | 精品国偷自产国产一区| 一本大道久久a久久精品综合| 视频一区欧美精品| 久久久精品影视| 777亚洲妇女| 欧美无砖专区一中文字| 九色porny丨国产精品| 久久久久久电影| www.在线欧美| 99精品视频在线播放观看| 懂色av一区二区在线播放| 国产91丝袜在线播放0| av成人免费在线| 欧美日韩亚州综合| av男人天堂一区| av中文一区二区三区| 亚洲三级在线免费观看| 欧美成人艳星乳罩| 一本到高清视频免费精品| 亚洲在线视频一区| 国产欧美日韩视频一区二区 | 欧美一级精品在线| 日本高清免费不卡视频| 色综合久久综合中文综合网| 九九**精品视频免费播放| 中文字幕在线不卡国产视频| 欧洲精品视频在线观看| 伊人色综合久久天天人手人婷| 欧美精品一区二区三区高清aⅴ| 欧美在线小视频| 精品亚洲免费视频| 首页欧美精品中文字幕| 亚洲主播在线观看| 秋霞午夜av一区二区三区| 狠狠色狠狠色综合| 欧美日韩国产一级| 欧美丰满嫩嫩电影| 国产精品二三区| 日韩精品成人一区二区三区| 国产精品亚洲成人| 在线观看视频一区| 精品日韩99亚洲| 亚洲成人综合视频| 色综合久久久网| 欧美丰满嫩嫩电影| 在线播放中文字幕一区| 亚洲欧美一区二区视频| 国产成人精品免费在线| 欧美日韩高清不卡| 日韩av午夜在线观看| 欧美哺乳videos| 国产一区二区毛片| 国产成a人亚洲精| 免费观看30秒视频久久| 91网站在线播放| 国产视频一区二区在线观看| 国产.欧美.日韩| 在线免费精品视频| 欧美色爱综合网| 欧美日韩亚洲综合一区| 欧美一级久久久| 日韩一区二区在线观看视频| 欧美国产综合色视频| 欧美一级日韩不卡播放免费| 国产精品久久久久影院亚瑟| 激情五月激情综合网| 91精品国模一区二区三区| 亚洲国产成人va在线观看天堂 | 在线精品观看国产| 国产精品欧美久久久久无广告| 久久99国产精品成人| 久久综合久久久久88| 国产精品99久久久久久宅男| 久久精品欧美日韩| 国产不卡视频在线播放| 国产日韩亚洲欧美综合| 国产99精品国产| 国产精品视频一二三| av电影天堂一区二区在线观看| 欧美电影一区二区| 精品一区二区三区在线视频| 国产精品久久免费看| 九九视频精品免费| 91久久精品午夜一区二区| 亚洲精品在线网站| 亚洲午夜久久久久久久久电影院| 粉嫩高潮美女一区二区三区| 一本色道久久综合亚洲精品按摩| 国产三级一区二区三区| 大尺度一区二区| 精品国产91洋老外米糕| 久久精品国产99国产精品| 在线日韩av片| 欧美国产丝袜视频| 久久精品99国产精品| 2014亚洲片线观看视频免费| 成人高清视频在线观看| 久久婷婷综合激情| 99久久精品久久久久久清纯| 日日摸夜夜添夜夜添亚洲女人| 日韩精品中文字幕在线一区| 99精品热视频| 亚洲国产成人av网| 精品国产91亚洲一区二区三区婷婷| 91污片在线观看| 美女www一区二区| 中文字幕制服丝袜一区二区三区 | 久草中文综合在线| 亚洲激情六月丁香| 久久久久久久久久久电影| 欧美图区在线视频| 91同城在线观看| 成人涩涩免费视频| 天天色综合天天| 亚洲国产精品嫩草影院| 自拍av一区二区三区| 国产清纯白嫩初高生在线观看91| 日韩一级黄色大片| 91国偷自产一区二区开放时间| 大陆成人av片| 国产尤物一区二区在线| 国产麻豆精品在线观看| 午夜伊人狠狠久久| 亚洲不卡一区二区三区| 亚洲一区二区三区视频在线| 亚洲男同性视频| 亚洲免费av在线| 久久超碰97中文字幕| 成人h动漫精品一区二| 欧美亚洲禁片免费| 日韩欧美一级片| 亚洲天堂免费看| 日韩1区2区3区| 99在线热播精品免费| 69堂国产成人免费视频| 欧美经典一区二区| 亚洲chinese男男1069| 国产成人精品影视| 777久久久精品| 最新热久久免费视频| 精品一区二区在线看| 在线影院国内精品| 国产精品对白交换视频| 美女一区二区在线观看| 色天天综合色天天久久| 欧美激情一二三区| 日韩激情在线观看| 色综合久久66| 亚洲丝袜自拍清纯另类| 成人免费av资源| 久久久久久久精| 国产精品亚洲第一区在线暖暖韩国| 欧美性三三影院| 国产精品免费免费| 成人激情小说乱人伦| 久久一区二区三区四区| 婷婷国产v国产偷v亚洲高清| 色爱区综合激月婷婷| 日韩理论片一区二区| 9i在线看片成人免费| 中文字幕一区av| 色综合色狠狠综合色| 亚洲欧洲av另类| 一本久道久久综合中文字幕| 中文字幕中文字幕一区二区| 成人激情小说网站| 精品国偷自产国产一区| 中文字幕一区二| 成熟亚洲日本毛茸茸凸凹| 国产日韩欧美精品在线| 国产精品123| 亚洲欧美一区二区三区久本道91 | 日本美女一区二区三区视频| 欧美区视频在线观看| 五月婷婷另类国产| 日韩欧美国产一区二区三区| 国产麻豆9l精品三级站| 中文字幕一区二区三区在线播放| 91麻豆6部合集magnet| 亚洲一二三四区| 日韩你懂的在线观看| 懂色av中文一区二区三区| 夜夜嗨av一区二区三区四季av| 欧美一区二区在线不卡| 国产aⅴ精品一区二区三区色成熟| 国产精品高潮久久久久无| 欧美日韩国产另类一区|