mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
boards/arduino-mega2560: Alters board to depend on arduino-atmega-common
This commit is contained in:
parent
b8e04d8c00
commit
3f7808add0
@ -1,3 +1,5 @@
|
||||
MODULE = board
|
||||
|
||||
DIRS = $(RIOTBOARD)/arduino-atmega-common
|
||||
|
||||
include $(RIOTBASE)/Makefile.base
|
||||
|
@ -1,10 +1 @@
|
||||
# Put defined MCU peripherals here (in alphabetical order)
|
||||
FEATURES_PROVIDED += periph_gpio
|
||||
FEATURES_PROVIDED += periph_spi
|
||||
FEATURES_PROVIDED += periph_timer
|
||||
FEATURES_PROVIDED += periph_uart
|
||||
|
||||
# Various other features (if any)
|
||||
|
||||
# The board MPU family (used for grouping by the CI system)
|
||||
FEATURES_MCU_GROUP = avr8
|
||||
include $(RIOTBOARD)/arduino-atmega-common/Makefile.features
|
||||
|
@ -1,53 +1,19 @@
|
||||
# define the cpu used by the arduino mega2560 board
|
||||
export CPU = atmega2560
|
||||
|
||||
export TERMPROG = $(RIOTBASE)/dist/tools/pyterm/pyterm
|
||||
export TERMFLAGS = -b 9600 -p $(PORT)
|
||||
USEMODULE += arduino-atmega-common
|
||||
|
||||
#define the flash-tool and default port depending on the host operating system
|
||||
OS = $(shell uname)
|
||||
ifeq ($(OS),Linux)
|
||||
PORT ?= /dev/ttyACM0
|
||||
FLASHER = avrdude
|
||||
else ifeq ($(OS),Darwin)
|
||||
PORT ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*)))
|
||||
FLASHER = avrdude
|
||||
else
|
||||
$(info CAUTION: No flash tool for your host system found!)
|
||||
# TODO: fix for building under windows
|
||||
endif
|
||||
export FLASHER
|
||||
export PORT
|
||||
export DIST_PATH = $(RIOTBOARD)/$(BOARD)/dist
|
||||
export DEBUGSERVER_PORT = 4242
|
||||
export DEBUGSERVER = $(DIST_PATH)/debug_srv.sh
|
||||
export DEBUGSERVER_FLAGS = "-g -j usb :$(DEBUGSERVER_PORT)"
|
||||
export DEBUGGER_FLAGS = "-x $(RIOTBOARD)/$(BOARD)/dist/gdb.conf $(ELFFILE)"
|
||||
export DEBUGGER = $(DIST_PATH)/debug.sh $(DEBUGSERVER_FLAGS) $(DIST_PATH) $(DEBUGSERVER_PORT)
|
||||
# add arduino-atmega-common include path
|
||||
INCLUDES += -I$(RIOTBOARD)/arduino-atmega-common/include
|
||||
|
||||
#export needed for flash rule
|
||||
export LINUX_PORT ?= /dev/ttyACM0
|
||||
export PROGRAMMER_SPEED ?= 115200
|
||||
|
||||
export FFLAGS += -p m2560
|
||||
|
||||
# PROGRAMMER defaults to stk500v2 which is the internal flasher via USB. Can be
|
||||
# overridden for debugging (which requires changes that require to use an ISP)
|
||||
export PROGRAMMER ?= stk500v2
|
||||
|
||||
ifeq ($(PROGRAMMER), stk500v2)
|
||||
export PROGRAMMER_FLAGS = -P $(PORT) -b 115200
|
||||
endif
|
||||
|
||||
# define build specific options
|
||||
export CFLAGS_CPU = -mmcu=atmega2560 $(CFLAGS_FPU)
|
||||
export CFLAGS_LINK = -fno-builtin -fshort-enums
|
||||
export CFLAGS_DBG ?= -ggdb -g3
|
||||
export CFLAGS_OPT ?= -Os
|
||||
|
||||
export CFLAGS += $(CFLAGS_CPU) $(CFLAGS_LINK) $(CFLAGS_DBG) $(CFLAGS_OPT)
|
||||
export ASFLAGS += $(CFLAGS_CPU) $(CFLAGS_DBG)
|
||||
export LINKFLAGS += $(CFLAGS_CPU) $(CFLAGS_DBG) $(CFLAGS_OPT) -e reset_handler
|
||||
export OFLAGS += -j .text -j .data -O ihex
|
||||
export FFLAGS += -p m2560 -c $(PROGRAMMER) $(PROGRAMMER_FLAGS) -F -D -U flash:w:bin/$(BOARD)/$(PROJECT)$(APPLICATION).hex
|
||||
|
||||
ifeq ($(LTO),1)
|
||||
# avr-gcc <4.8.3 has a bug when using LTO which causes a warning to be printed always:
|
||||
# '_vector_25' appears to be a misspelled signal handler [enabled by default]
|
||||
# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59396
|
||||
export LINKFLAGS += -Wno-error
|
||||
endif
|
||||
include $(RIOTBOARD)/arduino-atmega-common/Makefile.include
|
@ -1,81 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen
|
||||
* 2015 Kaspar Schleiser <kaspar@schleiser.de>
|
||||
*
|
||||
* 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-mega2560
|
||||
* @{
|
||||
*
|
||||
* @file
|
||||
* @brief Board specific implementations for the Arduino Mega 2560 board
|
||||
*
|
||||
* @author Hinnerk van Bruinehsen <h.v.bruinehsen@fu-berlin.de>
|
||||
* @author Kaspar Schleiser <kaspar@schleiser.de>
|
||||
*
|
||||
* @}
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <avr/io.h>
|
||||
|
||||
#include "board.h"
|
||||
#include "cpu.h"
|
||||
#include "uart_stdio.h"
|
||||
|
||||
void led_init(void);
|
||||
void SystemInit(void);
|
||||
static int uart_putchar(char c, FILE *stream);
|
||||
static int uart_getchar(FILE *stream);
|
||||
|
||||
static FILE uart_stdout = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE);
|
||||
static FILE uart_stdin = FDEV_SETUP_STREAM(NULL, uart_getchar, _FDEV_SETUP_READ);
|
||||
|
||||
void board_init(void)
|
||||
{
|
||||
/* initialize stdio via USART_0 */
|
||||
SystemInit();
|
||||
|
||||
/* initialize the CPU */
|
||||
cpu_init();
|
||||
|
||||
/* initialize the board LED (connected to pin PB7) */
|
||||
DDRB |= (1 << DDB7);
|
||||
PORTB &= ~(1 << 7);
|
||||
|
||||
irq_enable();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Initialize the System, initialize IO via UART_0
|
||||
*/
|
||||
void SystemInit(void)
|
||||
{
|
||||
/* initialize UART_0 for use as stdout */
|
||||
uart_stdio_init();
|
||||
|
||||
stdout = &uart_stdout;
|
||||
stdin = &uart_stdin;
|
||||
|
||||
/* Flush stdout */
|
||||
puts("\f");
|
||||
}
|
||||
|
||||
static int uart_putchar(char c, FILE *stream)
|
||||
{
|
||||
(void) stream;
|
||||
uart_stdio_write(&c, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int uart_getchar(FILE *stream)
|
||||
{
|
||||
(void) stream;
|
||||
char c;
|
||||
uart_stdio_read(&c, 1);
|
||||
return (int)c;
|
||||
}
|
8
boards/arduino-mega2560/dist/debug.sh
vendored
8
boards/arduino-mega2560/dist/debug.sh
vendored
@ -1,8 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
sleep 2
|
||||
setsid -w avarice $1 &
|
||||
#sleep 2 && $2/avr-gdb-wrapper -ex "target remote localhost:$3" $4
|
||||
sleep 3 && avr-gdb -ex "target remote localhost:$3" $4
|
||||
|
||||
# avarice exits with 1 if the connection is released, therefore we always exit with 0
|
||||
exit 0
|
7
boards/arduino-mega2560/dist/debug_srv.sh
vendored
7
boards/arduino-mega2560/dist/debug_srv.sh
vendored
@ -1,7 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
sleep 2
|
||||
avarice $1
|
||||
|
||||
# avarice exits with 1 if the connection is released, therefore we always exit with 0
|
||||
exit 0
|
1
boards/arduino-mega2560/dist/gdb.conf
vendored
1
boards/arduino-mega2560/dist/gdb.conf
vendored
@ -1 +0,0 @@
|
||||
set $pc=0x00
|
@ -1,128 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Freie Universität Berlin
|
||||
*
|
||||
* 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-mega2560
|
||||
* @{
|
||||
*
|
||||
* @file
|
||||
* @brief Mapping from MCU pins to Arduino pins
|
||||
*
|
||||
* You can use the defines in this file for simplified interaction with the
|
||||
* Arduino specific pin numbers.
|
||||
*
|
||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
||||
* @author Daniel Nordahl <nordahl.d@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef ARDUINO_PINMAP_H
|
||||
#define ARDUINO_PINMAP_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Mapping of MCU pins to Arduino pins
|
||||
*
|
||||
* @note ISCP pins are not mapped.
|
||||
*/
|
||||
#define ARDUINO_PIN_0 GPIO_PIN(PORT_E, 0)
|
||||
#define ARDUINO_PIN_1 GPIO_PIN(PORT_E, 1)
|
||||
#define ARDUINO_PIN_2 GPIO_PIN(PORT_E, 4)
|
||||
#define ARDUINO_PIN_3 GPIO_PIN(PORT_E, 5)
|
||||
#define ARDUINO_PIN_4 GPIO_PIN(PORT_G, 5)
|
||||
#define ARDUINO_PIN_5 GPIO_PIN(PORT_E, 3)
|
||||
#define ARDUINO_PIN_6 GPIO_PIN(PORT_H, 3)
|
||||
#define ARDUINO_PIN_7 GPIO_PIN(PORT_H, 4)
|
||||
#define ARDUINO_PIN_8 GPIO_PIN(PORT_H, 5)
|
||||
#define ARDUINO_PIN_9 GPIO_PIN(PORT_H, 6)
|
||||
#define ARDUINO_PIN_10 GPIO_PIN(PORT_B, 4)
|
||||
#define ARDUINO_PIN_11 GPIO_PIN(PORT_B, 5)
|
||||
#define ARDUINO_PIN_12 GPIO_PIN(PORT_B, 6)
|
||||
#define ARDUINO_PIN_13 GPIO_PIN(PORT_B, 7)
|
||||
#define ARDUINO_PIN_14 GPIO_PIN(PORT_J, 1)
|
||||
#define ARDUINO_PIN_15 GPIO_PIN(PORT_J, 0)
|
||||
#define ARDUINO_PIN_16 GPIO_PIN(PORT_H, 1)
|
||||
#define ARDUINO_PIN_17 GPIO_PIN(PORT_H, 0)
|
||||
#define ARDUINO_PIN_18 GPIO_PIN(PORT_D, 3)
|
||||
#define ARDUINO_PIN_19 GPIO_PIN(PORT_D, 2)
|
||||
#define ARDUINO_PIN_20 GPIO_PIN(PORT_D, 1)
|
||||
#define ARDUINO_PIN_21 GPIO_PIN(PORT_D, 0)
|
||||
#define ARDUINO_PIN_22 GPIO_PIN(PORT_A, 0)
|
||||
#define ARDUINO_PIN_23 GPIO_PIN(PORT_A, 1)
|
||||
#define ARDUINO_PIN_24 GPIO_PIN(PORT_A, 2)
|
||||
#define ARDUINO_PIN_25 GPIO_PIN(PORT_A, 3)
|
||||
#define ARDUINO_PIN_26 GPIO_PIN(PORT_A, 4)
|
||||
#define ARDUINO_PIN_27 GPIO_PIN(PORT_A, 5)
|
||||
#define ARDUINO_PIN_28 GPIO_PIN(PORT_A, 6)
|
||||
#define ARDUINO_PIN_29 GPIO_PIN(PORT_A, 7)
|
||||
#define ARDUINO_PIN_30 GPIO_PIN(PORT_C, 7)
|
||||
#define ARDUINO_PIN_31 GPIO_PIN(PORT_C, 6)
|
||||
#define ARDUINO_PIN_32 GPIO_PIN(PORT_C, 5)
|
||||
#define ARDUINO_PIN_33 GPIO_PIN(PORT_C, 4)
|
||||
#define ARDUINO_PIN_34 GPIO_PIN(PORT_C, 3)
|
||||
#define ARDUINO_PIN_35 GPIO_PIN(PORT_C, 2)
|
||||
#define ARDUINO_PIN_36 GPIO_PIN(PORT_C, 1)
|
||||
#define ARDUINO_PIN_37 GPIO_PIN(PORT_E, 0)
|
||||
#define ARDUINO_PIN_38 GPIO_PIN(PORT_D, 7)
|
||||
#define ARDUINO_PIN_39 GPIO_PIN(PORT_G, 2)
|
||||
#define ARDUINO_PIN_40 GPIO_PIN(PORT_G, 1)
|
||||
#define ARDUINO_PIN_41 GPIO_PIN(PORT_G, 0)
|
||||
#define ARDUINO_PIN_42 GPIO_PIN(PORT_L, 7)
|
||||
#define ARDUINO_PIN_43 GPIO_PIN(PORT_L, 6)
|
||||
#define ARDUINO_PIN_44 GPIO_PIN(PORT_L, 5)
|
||||
#define ARDUINO_PIN_45 GPIO_PIN(PORT_L, 4)
|
||||
#define ARDUINO_PIN_46 GPIO_PIN(PORT_L, 3)
|
||||
#define ARDUINO_PIN_47 GPIO_PIN(PORT_L, 2)
|
||||
#define ARDUINO_PIN_48 GPIO_PIN(PORT_L, 1)
|
||||
#define ARDUINO_PIN_49 GPIO_PIN(PORT_L, 0)
|
||||
#define ARDUINO_PIN_50 GPIO_PIN(PORT_B, 3)
|
||||
#define ARDUINO_PIN_51 GPIO_PIN(PORT_B, 2)
|
||||
#define ARDUINO_PIN_52 GPIO_PIN(PORT_B, 1)
|
||||
#define ARDUINO_PIN_53 GPIO_PIN(PORT_B, 0)
|
||||
#define ARDUINO_PIN_54 GPIO_PIN(PORT_F, 0)
|
||||
#define ARDUINO_PIN_55 GPIO_PIN(PORT_F, 1)
|
||||
#define ARDUINO_PIN_56 GPIO_PIN(PORT_F, 2)
|
||||
#define ARDUINO_PIN_57 GPIO_PIN(PORT_F, 3)
|
||||
#define ARDUINO_PIN_58 GPIO_PIN(PORT_F, 4)
|
||||
#define ARDUINO_PIN_59 GPIO_PIN(PORT_F, 5)
|
||||
#define ARDUINO_PIN_60 GPIO_PIN(PORT_F, 6)
|
||||
#define ARDUINO_PIN_61 GPIO_PIN(PORT_F, 7)
|
||||
#define ARDUINO_PIN_62 GPIO_PIN(PORT_K, 0)
|
||||
#define ARDUINO_PIN_63 GPIO_PIN(PORT_K, 1)
|
||||
#define ARDUINO_PIN_64 GPIO_PIN(PORT_K, 2)
|
||||
#define ARDUINO_PIN_65 GPIO_PIN(PORT_K, 3)
|
||||
#define ARDUINO_PIN_66 GPIO_PIN(PORT_K, 4)
|
||||
#define ARDUINO_PIN_67 GPIO_PIN(PORT_K, 5)
|
||||
#define ARDUINO_PIN_68 GPIO_PIN(PORT_K, 6)
|
||||
#define ARDUINO_PIN_69 GPIO_PIN(PORT_K, 7)
|
||||
#define ARDUINO_PIN_A0 ARDUINO_PIN_54
|
||||
#define ARDUINO_PIN_A1 ARDUINO_PIN_55
|
||||
#define ARDUINO_PIN_A2 ARDUINO_PIN_56
|
||||
#define ARDUINO_PIN_A3 ARDUINO_PIN_57
|
||||
#define ARDUINO_PIN_A4 ARDUINO_PIN_58
|
||||
#define ARDUINO_PIN_A5 ARDUINO_PIN_59
|
||||
#define ARDUINO_PIN_A6 ARDUINO_PIN_60
|
||||
#define ARDUINO_PIN_A7 ARDUINO_PIN_61
|
||||
#define ARDUINO_PIN_A8 ARDUINO_PIN_62
|
||||
#define ARDUINO_PIN_A9 ARDUINO_PIN_63
|
||||
#define ARDUINO_PIN_A10 ARDUINO_PIN_64
|
||||
#define ARDUINO_PIN_A11 ARDUINO_PIN_65
|
||||
#define ARDUINO_PIN_A12 ARDUINO_PIN_66
|
||||
#define ARDUINO_PIN_A13 ARDUINO_PIN_67
|
||||
#define ARDUINO_PIN_A14 ARDUINO_PIN_68
|
||||
#define ARDUINO_PIN_A15 ARDUINO_PIN_69
|
||||
/** @ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ARDUINO_PINMAP_H */
|
||||
/** @} */
|
@ -1,86 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup boards_arduino-mega2560 Arduino Mega 2560
|
||||
* @ingroup boards
|
||||
* @brief Board specific files for the Arduino Mega 2560 board.
|
||||
* @{
|
||||
*
|
||||
* @file
|
||||
* @brief Board specific definitions for the Arduino Mega 2560 board.
|
||||
*
|
||||
* @author Hinnerk van Bruinehsen <h.v.bruinehsen@fu-berlin.de>
|
||||
*/
|
||||
|
||||
#ifndef BOARD_H
|
||||
#define BOARD_H
|
||||
|
||||
#include "cpu.h"
|
||||
#include "arduino_pinmap.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief As the CPU is too slow to handle 115200 baud, we set the default
|
||||
* baudrate to 9600 for this board
|
||||
*/
|
||||
#define UART_STDIO_BAUDRATE (9600U)
|
||||
|
||||
/**
|
||||
* @brief LED pin definitions and handlers
|
||||
* @{
|
||||
*/
|
||||
#define LED0_PIN GPIO_PIN(1, 7)
|
||||
|
||||
#define LED0_MASK (1 << DDB7)
|
||||
|
||||
#define LED0_ON (PORTB |= LED0_MASK)
|
||||
#define LED0_OFF (PORTB &= ~LED0_MASK)
|
||||
#define LED0_TOGGLE (PORTB ^= LED0_MASK)
|
||||
/** @} */
|
||||
|
||||
|
||||
/**
|
||||
* Context swap defines
|
||||
* Setup to use PJ6 which is pin change interrupt 15 (PCINT15)
|
||||
* This emulates a software triggered interrupt
|
||||
**/
|
||||
#define AVR_CONTEXT_SWAP_INIT do { \
|
||||
DDRJ |= (1 << PJ6); \
|
||||
PCICR |= (1 << PCIE1); \
|
||||
PCMSK1 |= (1 << PCINT15); \
|
||||
} while (0)
|
||||
#define AVR_CONTEXT_SWAP_INTERRUPT_VECT PCINT1_vect
|
||||
#define AVR_CONTEXT_SWAP_TRIGGER PORTJ ^= (1 << PJ6)
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief xtimer configuration values
|
||||
* @{
|
||||
*/
|
||||
#define XTIMER_WIDTH (16)
|
||||
#define XTIMER_SHIFT (2)
|
||||
#define XTIMER_HZ (250000UL)
|
||||
#define XTIMER_BACKOFF (40)
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @brief Initialize board specific hardware, including clock, LEDs and std-IO
|
||||
*/
|
||||
void board_init(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* BOARD_H */
|
||||
/** @} */
|
@ -1,106 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2014-2016 Freie Universität Berlin
|
||||
* 2014 Hinnerk van Bruinehsen
|
||||
*
|
||||
* 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-mega2560
|
||||
* @{
|
||||
*
|
||||
* @file
|
||||
* @brief Peripheral MCU configuration for the Arduino Mega 2560 board
|
||||
*
|
||||
* @author Hinnerk van Bruinehsen <h.v.bruinehsen@fu-berlin.de>
|
||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
||||
*/
|
||||
|
||||
#ifndef PERIPH_CONF_H
|
||||
#define PERIPH_CONF_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Clock configuration
|
||||
* @{
|
||||
*/
|
||||
#define CLOCK_CORECLOCK (16000000L)
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @name Timer configuration
|
||||
*
|
||||
* The timer driver only supports the four 16-bit timers (Timer1, Timer3,
|
||||
* Timer4, Timer5), so those are the only onces 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
|
||||
#define TIMER_0_ISRC TIMER1_COMPC_vect
|
||||
|
||||
#define TIMER_1 MEGA_TIMER4
|
||||
#define TIMER_1_MASK &TIMSK4
|
||||
#define TIMER_1_FLAG &TIFR4
|
||||
#define TIMER_1_ISRA TIMER4_COMPA_vect
|
||||
#define TIMER_1_ISRB TIMER4_COMPB_vect
|
||||
#define TIMER_1_ISRC TIMER4_COMPC_vect
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @name UART configuration
|
||||
*
|
||||
* The UART devices have fixed pin mappings, so all we need to do, is to specify
|
||||
* which devices we would like to use and their corresponding RX interrupts. See
|
||||
* the reference manual for the fixed pin mapping.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
#define UART_NUMOF (4U)
|
||||
|
||||
#define UART_0 MEGA_UART0
|
||||
#define UART_0_ISR USART0_RX_vect
|
||||
|
||||
#define UART_1 MEGA_UART1
|
||||
#define UART_1_ISR USART1_RX_vect
|
||||
|
||||
#define UART_2 MEGA_UART2
|
||||
#define UART_2_ISR USART2_RX_vect
|
||||
|
||||
#define UART_3 MEGA_UART3
|
||||
#define UART_3_ISR USART3_RX_vect
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @name 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 - PB2 (Arduino pin 51)
|
||||
* MISO - PB3 (Arduino pin 50)
|
||||
* SCK - PB1 (Arduino pin 52)
|
||||
* SS - PB0 (Arduino pin 53) -> this pin is configured as output, but not used
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
#define SPI_NUMOF 1 /* set to 0 to disable SPI */
|
||||
#define MEGA_PRR PRR0 /* Power Reduction Register is PRR0 */
|
||||
/** @} */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* PERIPH_CONF_H */
|
Loading…
Reference in New Issue
Block a user