X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=bertos%2Fcpu%2Favr%2Fdrv%2Fser_avr.h;h=5f3c9fb87e437f008a15efeab60d56e76e2bff8c;hb=574d08f7aba9cfec59053ddcb7d2af3ebd0fda64;hp=4b5518b47ea32f8fc58c38519f9b63a72e698346;hpb=345f93de1963f49bdb194d2b06c8c5d7ba0a3e5f;p=bertos.git diff --git a/bertos/cpu/avr/drv/ser_avr.h b/bertos/cpu/avr/drv/ser_avr.h index 4b5518b4..5f3c9fb8 100644 --- a/bertos/cpu/avr/drv/ser_avr.h +++ b/bertos/cpu/avr/drv/ser_avr.h @@ -26,15 +26,16 @@ * invalidate any other reasons why the executable file might be covered by * the GNU General Public License. * - * Copyright 2007 Develer S.r.l. (http://www.develer.com/) + * Copyright 2007, 2010 Develer S.r.l. (http://www.develer.com/) * * --> * - * \version $Id: timer_arm.h 18273 2007-10-11 14:53:02Z batt $ * * \author Daniele Basile + * \author Luca Ottaviano * * \brief Low-level serial module for AVR (interface). + * */ #ifndef DRV_SER_AVR_H @@ -60,6 +61,24 @@ typedef uint8_t serstatus_t; #define SERRF_NOISEERROR 0 /**< Unsupported */ +/** + * SPI clock polarity. + * + * $WIZ$ ser_spi_pol = "SPI_NORMAL_LOW", "SPI_NORMAL_HIGH" + * } + */ +#define SPI_NORMAL_LOW 0 +#define SPI_NORMAL_HIGH 1 + +/** + * SPI clock phase. + * + * $WIZ$ ser_spi_phase = "SPI_SAMPLE_ON_FIRST_EDGE", "SPI_SAMPLE_ON_SECOND_EDGE" + * } + */ +#define SPI_SAMPLE_ON_FIRST_EDGE 0 +#define SPI_SAMPLE_ON_SECOND_EDGE 1 + /** * \name Serial hw numbers * @@ -67,11 +86,17 @@ typedef uint8_t serstatus_t; */ enum { -#if CPU_AVR_ATMEGA64 || CPU_AVR_ATMEGA128 || CPU_AVR_ATMEGA1281 +#if CPU_AVR_ATMEGA1280 + SER_UART0, + SER_UART1, + SER_UART2, + SER_UART3, + SER_SPI, +#elif CPU_AVR_ATMEGA64 || CPU_AVR_ATMEGA128 || CPU_AVR_ATMEGA1281 SER_UART0, SER_UART1, SER_SPI, -#elif CPU_AVR_ATMEGA103 || CPU_AVR_ATMEGA8 +#elif CPU_AVR_ATMEGA103 || CPU_AVR_ATMEGA8 || CPU_AVR_ATMEGA168 || CPU_AVR_ATMEGA328P SER_UART0, SER_SPI, #else