1 /***************************************************************************** 2 * Nations Microcontroller Software Support 3 * ---------------------------------------------------------------------------- 4 * Copyright (c) 2017, Nations Corporation 5 * 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions are met: 10 * 11 * - Redistributions of source code must retain the above copyright notice, 12 * this list of conditions and the disclaimer below. 13 * 14 * Nations's name may not be used to endorse or promote products derived from 15 * this software without specific prior written permission. 16 * 17 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY NATIONS "AS IS" AND ANY EXPRESS OR 18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE 20 * DISCLAIMED. IN NO EVENT SHALL NATIONS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 23 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 24 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * ****************************************************************************/ 28 /***************************************************************************** 29 * 文件名:Spi.h 30 * 功能描述: 31 * 版本:V 1.0.0 32 * 作者: 33 * 日期: 34 *****************************************************************************/ 35 36 #ifndef __SPI_H__ 37 #define __SPI_H__ 38 #include "stdint.h" 39 40 //------------------------------------------------------------------ 41 // Headers 42 //------------------------------------------------------------------ 43 44 45 //------------------------------------------------------------------ 46 // Definitions 47 //------------------------------------------------------------------ 48 49 #ifdef _SPI_C 50 void eif_spi_flow_on(void); 51 bool eif_spi_flow_off(void); 52 void eif_spi_read(uint8_t *bufptr, uint32_t size, void (*callback) (void*, uint8_t), void* dummy); 53 void eif_spi_write(uint8_t *bufptr, uint32_t size, void (*callback) (void*, uint8_t), void* dummy); 54 void eif_spi_recv_bytes(uint8_t *data ,uint16_t length); 55 int32_t eif_spi_ack_event_check(void); 56 void eif_spi_send_bytes(uint8_t *src , uint16_t length); 57 void eif_spi_init(void); 58 void eif_spi_recv_irq_handler(void); 59 void eif_spi_recv_irq_enable(uint8_t enable); 60 61 #else 62 extern void eif_spi_flow_on(void); 63 extern bool eif_spi_flow_off(void); 64 extern void eif_spi_read(uint8_t *bufptr, uint32_t size, void (*callback) (void*, uint8_t), void* dummy); 65 extern void eif_spi_write(uint8_t *bufptr, uint32_t size, void (*callback) (void*, uint8_t), void* dummy); 66 extern int32_t eif_spi_recv_bytes(uint8_t *data ,uint16_t length); 67 extern int32_t eif_spi_ack_event_check(void); 68 extern void eif_spi_send_bytes(uint8_t *src , uint16_t length); 69 extern void eif_spi_init(void); 70 extern void eif_spi_recv_irq_handler(void); 71 extern void eif_spi_recv_irq_enable(uint8_t enable); 72 #endif 73 74 #endif /*__SPIM0DRV_H__*/ 75 76