mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
80cf8389a8
Uno and Duemilanove(atmega328p version) are nearly the same boards. The only difference is that the Duemilanove use an FTDI usb chip, while the Uno use an Atmel which acts as USB/Serial converter. All of the code needed to support these boards is in arduino-common.
91 lines
2.1 KiB
C
91 lines
2.1 KiB
C
/*
|
|
* Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen
|
|
* 2016 Laurent Navet <laurent.navet@gmail.com>
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU Lesser
|
|
* General Public License v2.1. See the file LICENSE in the top level
|
|
* directory for more details.
|
|
*/
|
|
|
|
/**
|
|
* @ingroup boards_arduino-common
|
|
* @{
|
|
*
|
|
* @file
|
|
* @brief Peripheral MCU configuration for the arduino Uno and
|
|
* @brief Dumilanove boards.
|
|
*
|
|
* @author Hinnerk van Bruinehsen <h.v.bruinehsen@fu-berlin.de>
|
|
* @author Laurent Navet <laurent.navet@gmail.com>
|
|
*/
|
|
|
|
#ifndef PERIPH_CONF_H_
|
|
#define PERIPH_CONF_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief Clock configuration
|
|
* @{
|
|
*/
|
|
#define CLOCK_CORECLOCK (16000000L)
|
|
/** @} */
|
|
|
|
/**
|
|
* @brief Timer configuration
|
|
*
|
|
* The timer driver only supports the 16-bit timer (Timer1)
|
|
* so this is the only one we can use here.
|
|
*
|
|
* @{
|
|
*/
|
|
#define TIMER_NUMOF (2U)
|
|
|
|
#define TIMER_0 MEGA_TIMER1
|
|
#define TIMER_0_MASK &TIMSK1
|
|
#define TIMER_0_FLAG &TIFR1
|
|
#define TIMER_0_ISRA TIMER1_COMPA_vect
|
|
#define TIMER_0_ISRB TIMER1_COMPB_vect
|
|
/** @} */
|
|
|
|
/**
|
|
* @brief UART configuration
|
|
*
|
|
* Uno has only one UART, look in atmega_common
|
|
* This is where magic happens
|
|
*
|
|
* @{
|
|
*/
|
|
#define UART_NUMOF (1U)
|
|
|
|
#define UART_0 MEGA_UART0
|
|
#define UART_0_ISR USART_RX_vect
|
|
/** @} */
|
|
|
|
/**
|
|
* @brief SPI configuration
|
|
*
|
|
* The atmega2560 has only one hardware SPI with fixed pin configuration, so all
|
|
* we can do here, is to enable or disable it...
|
|
*
|
|
* The fixed pins used, are:
|
|
* MOSI - PB3 (Arduino pin 11)
|
|
* MISO - PB4 (Arduino pin 12)
|
|
* SCK - PB5 (Arduino pin 13)
|
|
* SS - PB2 (Arduino pin 10) -> this pin is configured as output, but not used
|
|
*
|
|
* @{
|
|
*/
|
|
#define SPI_NUMOF 1 /* set to 0 to disable SPI */
|
|
#define SPI_0_EN 1 /* remove once SPI rework is done */
|
|
#define MEGA_PRR PRR /* Power Reduction Register is PRR */
|
|
/** @} */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* PERIPH_CONF_H_ */
|