Aktuální adresář: FITkit /
trunk /
apps /
audio /
ring_buffer_mcu /
mcu /
fspi.h
1 /*******************************************************************************
2 fspi.h: second SPI interface
3 Copyright (C) 2009 Brno University of Technology,
4 Faculty of Information Technology
5 Author(s): Karel Slany <slany AT fit.vutbr.cz>
6
7 LICENSE TERMS
8
9 Redistribution and use in source and binary forms, with or without
10 modification, are permitted provided that the following conditions
11 are met:
12 1. Redistributions of source code must retain the above copyright
13 notice, this list of conditions and the following disclaimer.
14 2. Redistributions in binary form must reproduce the above copyright
15 notice, this list of conditions and the following disclaimer in
16 the documentation and/or other materials provided with the
17 distribution.
18 3. All advertising materials mentioning features or use of this software
19 or firmware must display the following acknowledgement:
20
21 This product includes software developed by the University of
22 Technology, Faculty of Information Technology, Brno and its
23 contributors.
24
25 4. Neither the name of the Company nor the names of its contributors
26 may be used to endorse or promote products derived from this
27 software without specific prior written permission.
28
29 This software or firmware is provided ``as is'', and any express or implied
30 warranties, including, but not limited to, the implied warranties of
31 merchantability and fitness for a particular purpose are disclaimed.
32 In no event shall the company or contributors be liable for any
33 direct, indirect, incidental, special, exemplary, or consequential
34 damages (including, but not limited to, procurement of substitute
35 goods or services; loss of use, data, or profits; or business
36 interruption) however caused and on any theory of liability, whether
37 in contract, strict liability, or tort (including negligence or
38 otherwise) arising in any way out of the use of this software, even
39 if advised of the possibility of such damage.
40
41 $Id$
42
43
44 *******************************************************************************/
45
46 #ifndef _FSPI_H_
47 #define _FSPI_H_
48
49 #include <fitkitlib.h>
50
51 // fast SPI interface connected to FPGA
52 #define FSPI_DO BIT1 ///< master DO
53 #define FSPI_DI BIT2 ///< master DI
54 #define FSPI_CLK BIT3 ///< master clock out
55 #define SAMPLE_VALID BIT7
56
57 #define FSPI_PORT_DIR P3DIR ///< direct port
58 #define FSPI_PORT_IN P3IN ///< input port
59 #define FSPI_PORT_OUT P3OUT ///< output port
60 #define FSPI_PORT_SEL P3SEL ///< select port
61
62 #if defined MSP_16X
63 #define FSPI_RX_BUF U0RXBUF
64 #define FSPI_TX_BUF U0TXBUF
65 #define FSPI_BUSY ((TXEPT & U0TCTL) == 0)
66 #elif defined MSP_261X
67 #define FSPI_RX_BUF UCB0RXBUF
68 #define FSPI_TX_BUF UCB0TXBUF
69 #define FSPI_BUSY ((UCBUSY & UCB0STAT) != 0)
70 #else
71 #error "FSPI define"
72 #endif
73
74
75 /**
76 \brief SPI initialization
77 **/
78 void FSPI_Init(void);
79
80 /**
81 \brief Disables SPI
82 **/
83 void FSPI_Close(void);
84
85 /**
86 \Brief Sends and receives 16bits over spi
87 **/
88 inline unsigned int FSPI_write_wait_read(unsigned int datain);
89
90 #endif /* _FSPI_H_ */
91