mirror of
https://gitea.osmocom.org/sim-card/simtrace2.git
synced 2026-03-23 00:38:33 +03:00
some main file possibilities
This commit is contained in:
77
sam3s_example/mains/spi.c
Normal file
77
sam3s_example/mains/spi.c
Normal file
@@ -0,0 +1,77 @@
|
||||
#include "board.h"
|
||||
#include "spi.h"
|
||||
#include "pio.h"
|
||||
#include "pmc.h"
|
||||
#include "usart.h"
|
||||
|
||||
#define BUFFER_SIZE 20
|
||||
|
||||
/** Pins to configure for the application.*/
|
||||
const Pin pins[] = { BOARD_PIN_USART_RXD,
|
||||
BOARD_PIN_USART_TXD
|
||||
// PIN_USART1_SCK,
|
||||
// BOARD_PIN_USART_RTS,
|
||||
// BOARD_PIN_USART_CTS,
|
||||
// PINS_SPI,
|
||||
// PIN_SPI_NPCS0_PA11
|
||||
};
|
||||
|
||||
char Buffer[BUFFER_SIZE] = "Hello World";
|
||||
/**
|
||||
* \brief Configures USART in synchronous mode,8N1
|
||||
* * \param mode 1 for master, 0 for slave
|
||||
* */
|
||||
static void _ConfigureUsart(uint32_t freq )
|
||||
{
|
||||
uint32_t mode;
|
||||
/* MASTER; mode = US_MR_USART_MODE_NORMAL
|
||||
| US_MR_USCLKS_MCK
|
||||
| US_MR_CHMODE_NORMAL
|
||||
| US_MR_CLKO
|
||||
| US_MR_SYNC // FIXME: sync or not sync?
|
||||
| US_MR_MSBF
|
||||
| US_MR_CHRL_8_BIT
|
||||
| US_MR_NBSTOP_1_BIT
|
||||
| US_MR_PAR_NO ;
|
||||
*/
|
||||
|
||||
|
||||
// Slave mode:
|
||||
mode = US_MR_USART_MODE_NORMAL
|
||||
// | US_MR_USCLKS_SCK // we don't have serial clock, do we?
|
||||
| US_MR_CHMODE_NORMAL
|
||||
// | US_MR_SYNC
|
||||
| US_MR_MSBF
|
||||
| US_MR_CHRL_8_BIT
|
||||
| US_MR_NBSTOP_1_BIT
|
||||
| US_MR_PAR_NO;
|
||||
|
||||
/* Enable the peripheral clock in the PMC */
|
||||
PMC_EnablePeripheral( BOARD_ID_USART ) ;
|
||||
|
||||
/* Configure the USART in the desired mode @USART_SPI_CLK bauds*/
|
||||
USART_Configure( BOARD_USART_BASE, mode, freq, BOARD_MCK ) ;
|
||||
|
||||
/* enable USART1 interrupt */
|
||||
// NVIC_EnableIRQ( USART1_IRQn ) ;
|
||||
|
||||
/* Enable receiver & transmitter */
|
||||
USART_SetTransmitterEnabled( BOARD_USART_BASE, 1 ) ;
|
||||
USART_SetReceiverEnabled( BOARD_USART_BASE, 1 ) ;
|
||||
}
|
||||
|
||||
int main() {
|
||||
/* Configure pins */
|
||||
PIO_Configure( pins, PIO_LISTSIZE( pins ) ) ;
|
||||
|
||||
_ConfigureUsart( 1000000UL);
|
||||
|
||||
USART_WriteBuffer(BOARD_USART_BASE, Buffer, BUFFER_SIZE);
|
||||
|
||||
// FIXME: do we need to call USARTEnable?
|
||||
|
||||
|
||||
// FIXME: do we need to call USARTDisable?
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user