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

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

?? spi.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
/// 
/// Definitions for SPI peripheral usage.
///
/// !Usage
///
/// -# Enable the SPI pins required by the application (see pio.h).
/// -# Configure the SPI using the SPI_Configure function. This enables the
///    peripheral clock. The mode register is loaded with the given value.
/// -# Configure all the necessary chip selects with SPI_ConfigureNPCS.
/// -# Enable the SPI by calling SPI_Enable.
/// -# Send/receive data using SPI_Write and SPI_Read. Note that SPI_Read
///    must be called after SPI_Write to retrieve the last value read.
/// -# Send/receive data using the PDC with the SPI_WriteBuffer and
///    SPI_ReadBuffer functions.
/// -# Disable the SPI by calling SPI_Disable.
//------------------------------------------------------------------------------

#ifndef SPI_H
#define SPI_H

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

#include <board.h>

extern unsigned char r_flag;
//------------------------------------------------------------------------------
//         Definitions
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
/// \page "SPI configuration macros"
/// This page lists several macros which should be used when configuring a SPI
/// peripheral.
/// 
/// !Macros
/// - SPI_PCS
/// - SPI_SCBR
/// - SPI_DLYBS
/// - SPI_DLYBCT

/// Calculate the PCS field value given the chip select NPCS value
#define SPI_PCS(npcs)       ((~(1 << npcs) & 0xF) << 16)

/// Calculates the value of the CSR SCBR field given the baudrate and MCK.
#define SPI_SCBR(baudrate, masterClock) \
            ((unsigned int) (masterClock / baudrate) << 8)

/// Calculates the value of the CSR DLYBS field given the desired delay (in ns)
#define SPI_DLYBS(delay, masterClock) \
            ((unsigned int) (((masterClock / 1000000) * delay) / 1000) << 16)

/// Calculates the value of the CSR DLYBCT field given the desired delay (in ns)
#define SPI_DLYBCT(delay, masterClock) \
            ((unsigned int) (((masterClock / 1000000) * delay) / 32000) << 16)
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
//         Exported functions
//------------------------------------------------------------------------------
extern void SPI_Enable(AT91S_SPI *spi);
extern void SPI_Disable(AT91S_SPI *spi);
extern void SPI_Configure(AT91S_SPI *spi,
                          unsigned int id,
                          unsigned int configuration);
extern void SPI_ConfigureNPCS(AT91S_SPI *spi,
                              unsigned int npcs,
                              unsigned int configuration);
extern void SPI_Write(AT91S_SPI *spi, unsigned int npcs, unsigned short data);
extern unsigned char SPI_WriteBuffer(AT91S_SPI *spi,
                                     void *buffer,
                                     unsigned int length);

extern unsigned char SPI_IsFinished(AT91S_SPI *pSpi);

extern unsigned short SPI_Read(AT91S_SPI *spi);
extern unsigned char SPI_ReadBuffer(AT91S_SPI *spi,
                                    void *buffer,
                                    unsigned int length);

extern void SPI_CfgCs (AT91PS_SPI pSPI,int cs, int val); 
extern void SPI_CfgPCS (AT91PS_SPI pSPI, char PCS_Device);
extern void init_SPI0(void);

#endif //#ifndef SPI_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女人aaa级久久久级| 亚洲精品自拍动漫在线| 中文字幕不卡在线播放| 图片区日韩欧美亚洲| 成人激情动漫在线观看| 日韩欧美另类在线| 视频一区视频二区中文字幕| 丰满放荡岳乱妇91ww| 欧美α欧美αv大片| 午夜亚洲福利老司机| 91色porny| 国产女同互慰高潮91漫画| 久久99精品久久久久久| 欧美日韩一区在线| 亚洲精品视频观看| 99在线精品一区二区三区| 久久精品人人做人人爽97| 美女www一区二区| 欧美精品欧美精品系列| 午夜精品一区二区三区三上悠亚| 91农村精品一区二区在线| 国产精品色噜噜| 国产精品一区二区你懂的| 精品毛片乱码1区2区3区| 日韩高清不卡在线| 欧美一区二区成人| 青青草成人在线观看| 欧美一区二区三区免费观看视频 | 色综合久久久网| 国产精品成人一区二区三区夜夜夜| 国产一区二区精品久久99| 精品盗摄一区二区三区| 激情国产一区二区| 精品处破学生在线二十三| 国产精品一区二区在线观看网站| 精品成人免费观看| 国产乱码精品一区二区三区av| ww久久中文字幕| 国产不卡视频一区| 最近中文字幕一区二区三区| 色综合天天性综合| 亚洲一区二区三区四区在线免费观看| 色婷婷av一区二区三区软件| 亚洲图片欧美综合| 欧美一区二区三区不卡| 狠狠色丁香婷婷综合| 国产精品入口麻豆原神| 色先锋久久av资源部| 视频一区二区欧美| 久久亚洲一区二区三区四区| 成人高清视频在线| 国产视频一区在线观看| 91亚洲精品久久久蜜桃| 一区二区三区四区在线| 欧美高清www午色夜在线视频| 久久精品99久久久| 中文字幕av一区二区三区| 色噜噜狠狠成人中文综合| 日本强好片久久久久久aaa| 2023国产一二三区日本精品2022| 成人av在线网站| 亚洲r级在线视频| 久久综合中文字幕| 日本大香伊一区二区三区| 日本人妖一区二区| 亚洲人快播电影网| 欧美zozozo| 在线观看一区二区精品视频| 麻豆国产精品官网| 亚洲日本成人在线观看| 91精品国产色综合久久ai换脸| 国产寡妇亲子伦一区二区| 亚洲亚洲精品在线观看| 久久久久久久久99精品| 欧美三级在线视频| 国产91高潮流白浆在线麻豆| 亚洲国产日韩一级| 日本一区二区三区四区| 欧美丰满嫩嫩电影| 色综合一区二区| 国产91富婆露脸刺激对白| 天天操天天综合网| 一区二区三区91| 国产欧美日韩另类视频免费观看| 欧美福利视频一区| 色哟哟欧美精品| 成人综合在线观看| 国产一区二区精品在线观看| 丝袜美腿亚洲一区二区图片| 最新国产成人在线观看| 久久精品亚洲一区二区三区浴池| 在线观看91精品国产麻豆| 一本一道波多野结衣一区二区| 国产一区二区三区在线观看免费 | 一区二区三区中文在线| 国产精品区一区二区三区| 欧美tk—视频vk| 欧美一级专区免费大片| 4438x成人网最大色成网站| 日本精品免费观看高清观看| 国产精品一区专区| 国产福利精品导航| 激情文学综合丁香| 韩国精品主播一区二区在线观看 | 亚洲国产经典视频| 久久久不卡影院| 精品成人私密视频| 久久久亚洲高清| 国产亚洲欧美中文| 国产欧美日韩另类一区| 久久精品欧美一区二区三区不卡 | 亚洲自拍偷拍欧美| 亚洲黄色片在线观看| 日韩美女久久久| 成人免费一区二区三区视频| 亚洲欧美一区二区在线观看| 国产精品美女久久久久久久久久久| 亚洲国产激情av| 亚洲丝袜自拍清纯另类| 亚洲视频每日更新| 一区二区日韩电影| 午夜伊人狠狠久久| 美女网站在线免费欧美精品| 国产在线精品国自产拍免费| 国内精品写真在线观看| 丁香婷婷综合五月| 91蜜桃在线观看| 欧美卡1卡2卡| 精品国产免费视频| 国产精品水嫩水嫩| 一区二区三区久久| 三级不卡在线观看| 精品一区二区免费看| 高清在线成人网| 色域天天综合网| 91精品国产综合久久精品麻豆| 精品播放一区二区| 日韩毛片精品高清免费| 日韩国产精品91| 成人免费看的视频| 欧美日韩精品系列| 久久综合九色综合欧美98| 亚洲精选在线视频| 日本美女一区二区| 本田岬高潮一区二区三区| 欧美日韩国产中文| 国产亚洲一区二区三区四区| 亚洲综合一区在线| 久久精品久久精品| 色哟哟日韩精品| 精品日产卡一卡二卡麻豆| 亚洲色图清纯唯美| 久久不见久久见免费视频7| 99久久伊人网影院| 91精品国产黑色紧身裤美女| 亚洲国产精品传媒在线观看| 亚洲制服丝袜在线| 国产一区二区三区精品视频| 在线观看国产91| 亚洲国产激情av| 精品在线观看免费| 欧美人伦禁忌dvd放荡欲情| 国产午夜亚洲精品午夜鲁丝片| 亚洲成人一区在线| 99精品1区2区| 国产亚洲婷婷免费| 美女视频免费一区| 欧美色区777第一页| 欧美国产综合色视频| 九九精品一区二区| 欧美群妇大交群中文字幕| 亚洲人123区| 成人黄色在线看| 国产日韩精品视频一区| 毛片一区二区三区| 欧美日本国产视频| 亚洲香蕉伊在人在线观| 99精品视频中文字幕| 久久精品视频一区二区| 经典一区二区三区| 日韩欧美一级在线播放| 日本中文字幕一区二区有限公司| 日本精品裸体写真集在线观看| 国产精品国产三级国产专播品爱网 | 韩国视频一区二区| 欧美一级黄色录像| 琪琪久久久久日韩精品| 欧美日韩mp4| 午夜私人影院久久久久| 色狠狠综合天天综合综合| 亚洲欧美偷拍卡通变态| 91视频国产观看| 亚洲欧美日本韩国| 99精品桃花视频在线观看| 亚洲欧美中日韩| 色94色欧美sute亚洲线路二| 亚洲欧美在线视频| 色国产综合视频| 一区二区三区四区蜜桃| 91传媒视频在线播放|