RTEMS 6.1-rc5
Loading...
Searching...
No Matches
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
48extern "C" {
49#endif
50
51/*----------------------------------------------------------------------------
52 * Exported functions
53 *----------------------------------------------------------------------------*/
54extern void SSC_Configure(Ssc *ssc, uint32_t bitRate, uint32_t masterClock);
55extern void SSC_ConfigureTransmitter(Ssc *ssc, uint32_t tcmr, uint32_t tfmr);
56extern void SSC_ConfigureReceiver(Ssc *ssc, uint32_t rcmr, uint32_t rfmr);
57extern void SSC_EnableTransmitter(Ssc *ssc);
58extern void SSC_DisableTransmitter(Ssc *ssc);
59extern void SSC_EnableReceiver(Ssc *ssc);
60extern void SSC_DisableReceiver(Ssc *ssc);
61extern void SSC_EnableInterrupts(Ssc *ssc, uint32_t sources);
62extern void SSC_DisableInterrupts(Ssc *ssc, uint32_t sources);
63extern void SSC_Write(Ssc *ssc, uint32_t frame);
64extern uint32_t SSC_Read(Ssc *ssc);
65extern uint8_t SSC_IsRxReady(Ssc *ssc);
66
67#ifdef __cplusplus
68}
69#endif
70
71#endif /* #ifndef _SSC_ */
72
void SSC_EnableInterrupts(Ssc *ssc, uint32_t sources)
Enables one or more interrupt sources of a SSC peripheral.
Definition: ssc.c:172
void SSC_ConfigureTransmitter(Ssc *ssc, uint32_t tcmr, uint32_t tfmr)
Configures the transmitter of a SSC peripheral.
Definition: ssc.c:113
void SSC_EnableTransmitter(Ssc *ssc)
Enables the transmitter of a SSC peripheral.
Definition: ssc.c:135
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_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
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_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_ConfigureReceiver(Ssc *ssc, uint32_t rcmr, uint32_t rfmr)
Configures the receiver of a SSC peripheral.
Definition: ssc.c:125
void SSC_DisableInterrupts(Ssc *ssc, uint32_t sources)
Disables one or more interrupt sources of a SSC peripheral.
Definition: ssc.c:182
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
Ssc hardware registers.
Definition: component_ssc.h:41