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

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

?? pio.h

?? IAR5.2下 AT91SAM9260 ARM 對 MCP2515 控制源化碼
?? H
字號:
/* ----------------------------------------------------------------------------
 *         ATMEL Microcontroller Software Support 
 * ----------------------------------------------------------------------------
 * Copyright (c) 2008, Atmel Corporation
 *
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the disclaimer below.
 *
 * Atmel's name may not be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * ----------------------------------------------------------------------------
 */

//------------------------------------------------------------------------------
/// \dir
/// !Purpose
///
///     Definition of methods and structures for using PIOs in a transparent
///     way. The main purpose is to allow portability between several boards.
///
/// !Usage
///
///     -# To configure and use pins, see pio.h.
///     -# To enable and use interrupt generation on PIO status change, see
///      pio_it.h.
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// \unit
/// !Purpose
/// 
/// Simple & portable usage of PIO pins.
/// 
/// !Usage
/// 
/// -# Define a constant pin description array such as the following one:
///    \code
///       const Pin at91board_dbgu[] = {
///            {AT91C_BASE_PIOA, (1 << 30), PIO_PERIPH_A, PIO_DEFAULT},
///            {AT91C_BASE_PIOA, (1 << 31), PIO_PERIPH_A, PIO_DEFAULT},
///        };
///    \endcode
///    Alternatively, constants defined in the piodefs.h header file of the
///    board module can be used:
///    \code
///    const Pin at91board_dbgu[] = {PINS_DBGU};
///    const Pin at91board_usart[] = {PIN_USART0_RXD, PIN_USART0_TXD};
///    \endcode
///    It is possible to group multiple pins if they share the same
///    attributes, to save memory. Here is the previous DBGU example
///    rewritten in such a way:
///    \code
///    const Pin at91board_dbgu[] = {
///         {AT91C_BASE_PIOA, 0xC0000000, PIO_PERIPH_A, PIO_DEFAULT}
///    };
///    \endcode
/// -# For pins configured as inputs, the PIO controller must be enabled
///    in the PMC (*enabled by PIO_Configure at the moment*).
/// -# Configure a pin array by calling PIO_Configure, using
///    the PIO_LISTSIZE macro to calculate the array size if needed. Do not
///    forget to check the return value for any error.
/// -# Set and get the value of a pin using the PIO_Set, PIO_Clear and
///    PIO_Get methods.
//------------------------------------------------------------------------------
 
#ifndef PIO_H
#define PIO_H

//------------------------------------------------------------------------------
//         Headers
//------------------------------------------------------------------------------

#include <board.h>

//------------------------------------------------------------------------------
//         Definitions
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/// \page "Pin types" 
/// This page lists the available types for a Pin instance (in its type field).
/// !Types
/// - PIO_PERIPH_A 
/// - PIO_PERIPH_B 
/// - PIO_INPUT 
/// - PIO_OUTPUT_0 
/// - PIO_OUTPUT_1 

/// The pin is controlled by the associated signal of peripheral A.
#define PIO_PERIPH_A                0
/// The pin is controlled by the associated signal of peripheral B.
#define PIO_PERIPH_B                1
/// The pin is an input.
#define PIO_INPUT                   2
/// The pin is an output and has a default level of 0.
#define PIO_OUTPUT_0                3
/// The pin is an output and has a default level of 1.
#define PIO_OUTPUT_1                4
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// \page "Pin attributes"
/// This page lists the valid values for the attribute field of a Pin instance.
/// !Attributes
/// - PIO_DEFAULT
/// - PIO_PULLUP
/// - PIO_DEGLITCH
/// - PIO_OPENDRAIN

/// Default pin configuration (no attribute).
#define PIO_DEFAULT                 (0 << 0)
/// The internal pin pull-up is active.
#define PIO_PULLUP                  (1 << 0)
/// The internal glitch filter is active.
#define PIO_DEGLITCH                (1 << 1)
/// The pin is open-drain.
#define PIO_OPENDRAIN               (1 << 2)
//------------------------------------------------------------------------------

/// Calculates the size of a Pin instances array. The array must be local (i.e.
/// not a pointer), otherwise the computation will not be correct.
#define PIO_LISTSIZE(list)    (sizeof(list) / sizeof(Pin))

//------------------------------------------------------------------------------
//         Types
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/// Describes the type and attribute of one PIO pin or a group of similar pins.
typedef struct {
    /// Bitmask indicating which pin(s) to configure.
    unsigned int mask; 
    /// Pointer to the PIO controller which has the pin(s).
    AT91S_PIO    *pio;
    /// Peripheral ID of the PIO controller which has the pin(s).
    unsigned char id;
    /// Pin type (see "Pin types").
    unsigned char type;
    /// Pin attribute (see "Pin attributes").
    unsigned char attribute;
} Pin;
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
//         Exported functions
//------------------------------------------------------------------------------
extern unsigned char PIO_Configure(const Pin *list, unsigned int size);
extern void PIO_CfgPeriph(AT91PS_PIO pPio,unsigned int periphAEnable,unsigned int periphBEnable);
extern void PIO_CfgOpendrain(AT91PS_PIO pPio,unsigned int multiDrvEnable);
extern void PIO_Set(const Pin *pin );
extern void PIO_Clear(const Pin *pin);
extern unsigned char PIO_Get(const Pin *pin);
extern unsigned int PIO_GetISR(const Pin *pin);
extern unsigned char PIO_GetOutputDataStatus(const Pin *pin);


#endif //#ifndef PIO_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩av一区二区| 日本一区二区视频在线观看| 99国产精品久久久久久久久久 | 欧美区一区二区三区| 欧美美女直播网站| 精品捆绑美女sm三区| 国产欧美精品在线观看| 一级中文字幕一区二区| 亚洲高清免费在线| 国产99久久久国产精品| 91色婷婷久久久久合中文| 欧美日韩精品欧美日韩精品| 欧美电视剧免费全集观看| 亚洲日本一区二区| 狠狠色丁香久久婷婷综合丁香| thepron国产精品| 日韩一级片网站| 日韩一区二区三区电影在线观看| 亚洲国产精品传媒在线观看| 一区二区三区鲁丝不卡| 国产成人av一区二区三区在线观看| 欧美视频在线一区| **网站欧美大片在线观看| 激情另类小说区图片区视频区| 99精品视频在线观看免费| 久久精品夜色噜噜亚洲a∨| 亚洲成人高清在线| 欧美日韩精品福利| 午夜免费欧美电影| 777a∨成人精品桃花网| 蜜桃av一区二区| 日韩三级av在线播放| 人人精品人人爱| 久久久久久久综合| 日韩高清一区二区| 波多野结衣中文一区| 国产亚洲综合av| 欧美在线小视频| 久久99精品久久久久久国产越南| 欧美白人最猛性xxxxx69交| 国产黄色精品网站| 亚洲人xxxx| 精品欧美黑人一区二区三区| 国产一区二区三区日韩| 亚洲日本丝袜连裤袜办公室| 欧美一区午夜精品| 91国产免费观看| 黄色资源网久久资源365| 日韩毛片视频在线看| 欧美美女一区二区| 成人成人成人在线视频| 日韩精品亚洲一区| 中文字幕免费一区| 99久精品国产| 美女国产一区二区| 五月婷婷综合在线| 亚洲人一二三区| 国产精品久久久久久久久图文区| 欧美日本视频在线| 在线亚洲高清视频| 在线免费亚洲电影| 在线免费观看不卡av| 99久久婷婷国产精品综合| 成人免费观看av| 成人一区二区三区在线观看| 国产一区二区三区四| 激情国产一区二区| 国产精品1024久久| 北条麻妃国产九九精品视频| 国产精品一区二区不卡| 国产福利一区在线| 成人午夜伦理影院| 一本高清dvd不卡在线观看| 色八戒一区二区三区| 在线观看亚洲精品视频| 欧美无砖砖区免费| 国产午夜精品久久久久久免费视| 精品国产百合女同互慰| 91福利国产成人精品照片| 国产一区二区三区精品欧美日韩一区二区三区 | 奇米精品一区二区三区在线观看| 日本不卡视频在线观看| 成人深夜在线观看| 3d成人h动漫网站入口| 久久久久久久久岛国免费| 国产精品久久久久国产精品日日| 一区av在线播放| 国产91精品在线观看| 91香蕉视频污| 欧美午夜一区二区三区免费大片| 欧美成人a视频| 亚洲一区二区三区爽爽爽爽爽 | 亚洲三级久久久| 久久精品噜噜噜成人av农村| 91在线小视频| 国产亚洲婷婷免费| 乱中年女人伦av一区二区| 欧美视频一区在线| 亚洲色图色小说| 国产美女一区二区三区| 91精品国产一区二区三区香蕉| 中文字幕在线观看不卡视频| 国产精品1区2区3区| 日韩你懂的电影在线观看| 日韩国产在线一| 欧美人xxxx| 精品一区二区三区免费播放| 精品久久免费看| 黄页网站大全一区二区| 日韩久久久精品| 国产成人精品aa毛片| 国产亚洲短视频| 在线观看亚洲精品| 蜜臀久久99精品久久久久宅男| 日韩欧美中文一区二区| 久久不见久久见免费视频7| 国产午夜精品一区二区三区视频| 国产毛片一区二区| 综合久久给合久久狠狠狠97色| 激情久久久久久久久久久久久久久久| 欧美性生交片4| 国产一区二区在线视频| 中文字幕佐山爱一区二区免费| 国产成人免费在线观看不卡| 中文字幕视频一区| 国产无一区二区| 欧美日韩一级二级| 国产成a人无v码亚洲福利| 亚洲一区电影777| 国产女主播视频一区二区| 欧美美女直播网站| av爱爱亚洲一区| 中文字幕一区三区| 精品福利在线导航| 欧美午夜精品久久久久久孕妇| 91亚洲精品久久久蜜桃| 国产一区二区美女| 视频一区二区三区中文字幕| 中文字幕av不卡| www国产亚洲精品久久麻豆| 欧洲精品中文字幕| 色综合久久综合| 成人午夜免费av| 国产精品一区二区黑丝| 麻豆精品久久久| 日韩高清在线电影| 美女被吸乳得到大胸91| 亚洲综合色婷婷| 亚洲精品视频一区| 亚洲视频免费在线观看| 亚洲欧洲综合另类在线| 一区二区三区高清在线| 一区二区三区久久| 玖玖九九国产精品| 91黄色小视频| 精品少妇一区二区三区日产乱码 | 欧美一区二区三区小说| 欧美日本一区二区在线观看| 在线播放中文一区| 欧美激情综合五月色丁香小说| 欧美tk—视频vk| 国产精品久久久久影视| 亚洲国产精品传媒在线观看| 国产精品美女久久久久aⅴ| 亚洲人成人一区二区在线观看| 三级在线观看一区二区| 高清国产一区二区三区| 欧美一区二视频| 亚洲欧洲精品一区二区三区| 亚洲欧美日韩一区二区 | 欧美激情一区二区| 亚洲无人区一区| 国产成人在线免费| 99免费精品视频| 欧美tickling挠脚心丨vk| 亚洲品质自拍视频| 狠狠色狠狠色综合系列| 欧美曰成人黄网| 中文字幕av一区二区三区免费看 | 久久久久久99久久久精品网站| 亚洲人成亚洲人成在线观看图片| 婷婷综合五月天| 欧美午夜在线一二页| 亚洲已满18点击进入久久| 欧美午夜免费电影| 三级久久三级久久久| 精品久久一区二区| 91浏览器打开| 午夜久久电影网| 国产亚洲婷婷免费| 色一情一乱一乱一91av| 午夜精品一区二区三区三上悠亚| 91精品久久久久久久久99蜜臂| 国产精品一区二区在线观看不卡 | 日韩欧美国产一区在线观看| 国产大片一区二区| 国产精品家庭影院| 3d成人h动漫网站入口| 成人成人成人在线视频| 久久综合综合久久综合|