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