OSDN Git Service

myint.h int2 add
[scilog/cpu2010.git] / myspi.h
1 #ifndef __MYSPI_H__
2 #include <p24FJ64GA004.h>
3
4 #define __MYSPI_H__
5 int spi1_init(void);
6 int spi2_init(void);
7
8 #define spi1_tx_fifo_is_full()  (SPI1STATbits.SPITBF == 1) // true=full(Transmit not yet started, SPIxTXB is full)
9 #define spi1_rx_fifo_is_full()  (SPI1STATbits.SPIRBF == 1) // true=full(Receive complete)
10 #define spi1_rx_fifo_is_empty() (SPI1STATbits.SRXMPT == 1)    // true=empty, SRXMPT: Receive FIFO Empty bit (valid in Enhanced Buffer mode)
11 #define spi1_rx_overrun_clear() SPI1STATbits.SPIROV = 0;
12
13 #define spi1_putc(c)    SPI1BUF = (c & 0xFF)
14 #define spi1_getc()    (SPI1BUF & 0xFF)
15
16 #define spi1_set_int_level(i)  IPC2bits.SPI1IP = (i)
17 #define spi1_int_enable()   IEC0bits.SPI1IE = 1
18 #define spi1_int_disable()  IEC0bits.SPI1IE = 0
19 #define spi1_intf_clear()   IFS0bits.SPI1IF = 0
20
21 #define spi2_tx_fifo_is_full()  (SPI2STATbits.SPITBF == 1) // true=full
22 #define spi2_rx_fifo_is_full()  (SPI2STATbits.SPIRBF == 1) // true=full
23 #define spi2_rx_fifo_is_empty() (SPI2STATbits.SRXMPT == 1)    // true=empty
24 #define spi2_rx_overrun_clear() SPI2STATbits.SPIROV = 0;
25
26 #define spi2_putc(c)    SPI2BUF = (c & 0xFF)
27 #define spi2_getc()     (SPI2BUF & 0xFF)
28
29 #define spi2_set_int_level(i)  IPC8bits.SPI2IP = (i)
30 #define spi2_int_enable()   IEC2bits.SPI2IE = 1
31 #define spi2_int_disable()  IEC2bits.SPI2IE = 0
32 #define spi2_intf_clear()   IFS2bits.SPI2IF = 0
33
34 #endif