RTEMS  5.0.0
ssc.h
Go to the documentation of this file.
1 /* ---------------------------------------------------------------------------- */
2 /* Atmel Microcontroller Software Support */
3 /* SAM Software Package License */
4 /* ---------------------------------------------------------------------------- */
5 /* Copyright (c) 2015, Atmel Corporation */
6 /* */
7 /* All rights reserved. */
8 /* */
9 /* Redistribution and use in source and binary forms, with or without */
10 /* modification, are permitted provided that the following condition is met: */
11 /* */
12 /* - Redistributions of source code must retain the above copyright notice, */
13 /* this list of conditions and the disclaimer below. */
14 /* */
15 /* Atmel's name may not be used to endorse or promote products derived from */
16 /* this software without specific prior written permission. */
17 /* */
18 /* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
19 /* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
20 /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
21 /* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
22 /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
23 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
24 /* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
25 /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
26 /* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
27 /* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
28 /* ---------------------------------------------------------------------------- */
29 
37 #ifndef _SSC_
38 #define _SSC_
39 
40 /*----------------------------------------------------------------------------
41  * Headers
42  *----------------------------------------------------------------------------*/
43 #include "chip.h"
44 
45 #include <stdint.h>
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50 
51 /*----------------------------------------------------------------------------
52  * Exported functions
53  *----------------------------------------------------------------------------*/
54 extern void SSC_Configure(Ssc *ssc, uint32_t bitRate, uint32_t masterClock);
55 extern void SSC_ConfigureTransmitter(Ssc *ssc, uint32_t tcmr, uint32_t tfmr);
56 extern void SSC_ConfigureReceiver(Ssc *ssc, uint32_t rcmr, uint32_t rfmr);
57 extern void SSC_EnableTransmitter(Ssc *ssc);
58 extern void SSC_DisableTransmitter(Ssc *ssc);
59 extern void SSC_EnableReceiver(Ssc *ssc);
60 extern void SSC_DisableReceiver(Ssc *ssc);
61 extern void SSC_EnableInterrupts(Ssc *ssc, uint32_t sources);
62 extern void SSC_DisableInterrupts(Ssc *ssc, uint32_t sources);
63 extern void SSC_Write(Ssc *ssc, uint32_t frame);
64 extern uint32_t SSC_Read(Ssc *ssc);
65 extern uint8_t SSC_IsRxReady(Ssc *ssc);
66 
67 #ifdef __cplusplus
68 }
69 #endif
70 
71 #endif /* #ifndef _SSC_ */
72 
void SSC_ConfigureTransmitter(Ssc *ssc, uint32_t tcmr, uint32_t tfmr)
Configures the transmitter of a SSC peripheral.
Definition: ssc.c:113
void SSC_DisableReceiver(Ssc *ssc)
Disables the receiver of a SSC peripheral.
Definition: ssc.c:162
void SSC_DisableTransmitter(Ssc *ssc)
Disables the transmitter of a SSC peripheral.
Definition: ssc.c:144
void SSC_EnableTransmitter(Ssc *ssc)
Enables the transmitter of a SSC peripheral.
Definition: ssc.c:135
void SSC_DisableInterrupts(Ssc *ssc, uint32_t sources)
Disables one or more interrupt sources of a SSC peripheral.
Definition: ssc.c:182
void SSC_Configure(Ssc *ssc, uint32_t bitRate, uint32_t masterClock)
Configures a SSC peripheral.If the divided clock is not used, the master clock frequency can be set t...
Definition: ssc.c:87
void SSC_EnableInterrupts(Ssc *ssc, uint32_t sources)
Enables one or more interrupt sources of a SSC peripheral.
Definition: ssc.c:172
Ssc hardware registers.
Definition: component_ssc.h:41
uint32_t SSC_Read(Ssc *ssc)
Waits until one frame is received on a SSC peripheral, and returns it.
Definition: ssc.c:204
void SSC_ConfigureReceiver(Ssc *ssc, uint32_t rcmr, uint32_t rfmr)
Configures the receiver of a SSC peripheral.
Definition: ssc.c:125
uint8_t SSC_IsRxReady(Ssc *ssc)
Return 1 if one frame is received, 0 otherwise.
Definition: ssc.c:215
void SSC_EnableReceiver(Ssc *ssc)
Enables the receiver of a SSC peripheral.
Definition: ssc.c:153
void SSC_Write(Ssc *ssc, uint32_t frame)
Sends one data frame through a SSC peripheral. If another frame is currently being sent...
Definition: ssc.c:193