ser_mega.h
Go to the documentation of this file.
00001 00041 #ifndef DRV_SER_MEGA_H 00042 #define DRV_SER_MEGA_H 00043 00044 #include <cfg/macros.h> /* BV() */ 00045 #include <cfg/compiler.h> /* uint32_t */ 00046 00047 typedef uint8_t serstatus_t; 00048 00049 /* Software errors */ 00050 #define SERRF_RXFIFOOVERRUN BV(0) 00051 #define SERRF_RXTIMEOUT BV(5) 00052 #define SERRF_TXTIMEOUT BV(6) 00054 /* 00055 * Hardware errors. 00056 * These flags map directly to the AVR UART Status Register (USR). 00057 */ 00058 #define SERRF_RXSROVERRUN BV(3) 00059 #define SERRF_FRAMEERROR BV(4) 00060 #define SERRF_PARITYERROR BV(7) 00061 #define SERRF_NOISEERROR 0 00070 #define SPI_NORMAL_LOW 0 00071 #define SPI_NORMAL_HIGH 1 00072 00079 #define SPI_SAMPLE_ON_FIRST_EDGE 0 00080 #define SPI_SAMPLE_ON_SECOND_EDGE 1 00081 00087 enum 00088 { 00089 #if CPU_AVR_ATMEGA1280 || CPU_AVR_ATMEGA2560 00090 SER_UART0, 00091 SER_UART1, 00092 SER_UART2, 00093 SER_UART3, 00094 SER_SPI, 00095 #elif CPU_AVR_ATMEGA64 || CPU_AVR_ATMEGA128 || CPU_AVR_ATMEGA1281 \ 00096 || CPU_AVR_ATMEGA324P || CPU_AVR_ATMEGA644P 00097 SER_UART0, 00098 SER_UART1, 00099 SER_SPI, 00100 #elif CPU_AVR_ATMEGA103 || CPU_AVR_ATMEGA8 || CPU_AVR_ATMEGA32 \ 00101 || CPU_AVR_ATMEGA88P || CPU_AVR_ATMEGA168 || CPU_AVR_ATMEGA328P 00102 SER_UART0, 00103 SER_SPI, 00104 #else 00105 #error unknown architecture 00106 #endif 00107 SER_CNT 00108 }; 00109 /*\}*/ 00110 00111 #endif /* DRV_SER_MEGA_H */
![(please configure the [header_logo] section in trac.ini)](/chrome/site/bertos_logo.png)