| /trunk/libraries/usart/include/usart_prv.h |
|---|
| 0,0 → 1,68 |
| /**************************************************************************//** |
| * \brief USART library |
| * \author Copyright (C) 2011 Julien Le Sech - www.idreammicro.com |
| * \version 1.0 |
| * \date 20090426 |
| * |
| * This file is part of the iDreamMicro library. |
| * |
| * This library is free software: you can redistribute it and/or modify it under |
| * the terms of the GNU Lesser General Public License as published by the Free |
| * Software Foundation, either version 3 of the License, or (at your option) any |
| * later version. |
| * |
| * This library is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
| * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more |
| * details. |
| * |
| * You should have received a copy of the GNU Lesser General Public License |
| * along with this program. If not, see http://www.gnu.org/licenses/ |
| ******************************************************************************/ |
| /**************************************************************************//** |
| * \headerfile usart_prv.h |
| ******************************************************************************/ |
| #ifndef H__IDREAMMICRO__USART_PRV__H |
| #define H__IDREAMMICRO__USART_PRV__H |
| #ifdef _cplusplus |
| extern "C"{ |
| #endif |
| /**************************************************************************//** |
| * Header file inclusions. |
| ******************************************************************************/ |
| #include "../usart.h" |
| #include <stdint.h> |
| /**************************************************************************//** |
| * Internal constant definitions. |
| ******************************************************************************/ |
| const uint32_t usart__baudrate_values[] = |
| { |
| [USART__BAUDRATE__2400] = 2400, |
| [USART__BAUDRATE__4800] = 4800, |
| [USART__BAUDRATE__9600] = 9600, |
| [USART__BAUDRATE__14400] = 14400, |
| [USART__BAUDRATE__19200] = 19200, |
| [USART__BAUDRATE__28800] = 28800, |
| [USART__BAUDRATE__38400] = 38400, |
| [USART__BAUDRATE__57600] = 57600, |
| [USART__BAUDRATE__76800] = 76800, |
| [USART__BAUDRATE__115200] = 115200, |
| [USART__BAUDRATE__230400] = 230400, |
| [USART__BAUDRATE__250000] = 250000, |
| [USART__BAUDRATE__500000] = 500000, |
| [USART__BAUDRATE__1000000] = 1000000 |
| }; |
| #ifdef _cplusplus |
| } |
| #endif |
| #endif /* H__IDREAMMICRO__USART__H */ |
| /trunk/libraries/usart/usart.h |
|---|
| 44,20 → 44,20 |
| ******************************************************************************/ |
| typedef enum usart__baudrates |
| { |
| USART__BAUDRATE__2400 = 2400, /*!< 2400 bps. */ |
| USART__BAUDRATE__4800 = 4800, /*!< 4800 bps. */ |
| USART__BAUDRATE__9600 = 9600, /*!< 9600 bps. */ |
| USART__BAUDRATE__14400 = 14400, /*!< 14400 bps. */ |
| USART__BAUDRATE__19200 = 19200, /*!< 19200 bps. */ |
| USART__BAUDRATE__28800 = 28800, /*!< 28800 bps. */ |
| USART__BAUDRATE__38400 = 38400, /*!< 38400 bps. */ |
| USART__BAUDRATE__57600 = 57600, /*!< 57600 bps. */ |
| USART__BAUDRATE__76800 = 76800, /*!< 76800 bps. */ |
| USART__BAUDRATE__115200 = 115200, /*!< 115200 bps. */ |
| USART__BAUDRATE__230400 = 230400, /*!< 230400 bps. */ |
| USART__BAUDRATE__250000 = 250000, /*!< 250000 bps. */ |
| USART__BAUDRATE__500000 = 500000, /*!< 500000 bps. */ |
| USART__BAUDRATE__1000000 = 1000000 /*!< 1000000 bps. */ |
| USART__BAUDRATE__2400, /*!< 2400 bps. */ |
| USART__BAUDRATE__4800, /*!< 4800 bps. */ |
| USART__BAUDRATE__9600, /*!< 9600 bps. */ |
| USART__BAUDRATE__14400, /*!< 14400 bps. */ |
| USART__BAUDRATE__19200, /*!< 19200 bps. */ |
| USART__BAUDRATE__28800, /*!< 28800 bps. */ |
| USART__BAUDRATE__38400, /*!< 38400 bps. */ |
| USART__BAUDRATE__57600, /*!< 57600 bps. */ |
| USART__BAUDRATE__76800, /*!< 76800 bps. */ |
| USART__BAUDRATE__115200, /*!< 115200 bps. */ |
| USART__BAUDRATE__230400, /*!< 230400 bps. */ |
| USART__BAUDRATE__250000, /*!< 250000 bps. */ |
| USART__BAUDRATE__500000, /*!< 500000 bps. */ |
| USART__BAUDRATE__1000000 /*!< 1000000 bps. */ |
| } usart__baudrate_t; |
| /**************************************************************************//** |
| /trunk/libraries/usart/src/usart0_m128.c |
|---|
| 601,11 → 601,11 |
| { |
| if (!double_speed_is_set) |
| { |
| ubrr = F_CPU / (16 * configuration.baudrate) - 1; |
| ubrr = F_CPU / (16 * usart__baudrate_values[configuration.baudrate]) - 1; |
| } |
| else |
| { |
| ubrr = F_CPU / (8 * configuration.baudrate) - 1; |
| ubrr = F_CPU / (8 * usart__baudrate_values[configuration.baudrate]) - 1; |
| } |
| } |
| break; |
| 612,7 → 612,7 |
| case USART__MODE__SYNCHRONOUS: |
| { |
| ubrr = F_CPU / (2 * configuration.baudrate) - 1; |
| ubrr = F_CPU / (2 * usart__baudrate_values[configuration.baudrate]) - 1; |
| } |
| break; |
| /trunk/libraries/usart/src/usart0_m2560.c |
|---|
| 29,6 → 29,7 |
| ******************************************************************************/ |
| #include "../usart0.h" |
| #include "../include/usart_prv.h" |
| #include <usart/usart.h> |
| 632,11 → 633,11 |
| { |
| if (!double_speed_is_set) |
| { |
| ubrr = F_CPU / (16 * configuration.baudrate) - 1; |
| ubrr = F_CPU / (16 * usart__baudrate_values[configuration.baudrate]) - 1; |
| } |
| else |
| { |
| ubrr = F_CPU / (8 * configuration.baudrate) - 1; |
| ubrr = F_CPU / (8 * usart__baudrate_values[configuration.baudrate]) - 1; |
| } |
| } |
| break; |
| 643,7 → 644,7 |
| case USART__MODE__SYNCHRONOUS: |
| { |
| ubrr = F_CPU / (2 * configuration.baudrate) - 1; |
| ubrr = F_CPU / (2 * usart__baudrate_values[configuration.baudrate]) - 1; |
| } |
| break; |
| /trunk/libraries/usart/src/usart0_m328.c |
|---|
| 29,6 → 29,7 |
| ******************************************************************************/ |
| #include "../usart0.h" |
| #include "../include/usart_prv.h" |
| #include <usart/usart.h> |
| 632,11 → 633,11 |
| { |
| if (!double_speed_is_set) |
| { |
| ubrr = F_CPU / (16 * configuration.baudrate) - 1; |
| ubrr = F_CPU / (16 * usart__baudrate_values[configuration.baudrate]) - 1; |
| } |
| else |
| { |
| ubrr = F_CPU / (8 * configuration.baudrate) - 1; |
| ubrr = F_CPU / (8 * usart__baudrate_values[configuration.baudrate]) - 1; |
| } |
| } |
| break; |
| 643,7 → 644,7 |
| case USART__MODE__SYNCHRONOUS: |
| { |
| ubrr = F_CPU / (2 * configuration.baudrate) - 1; |
| ubrr = F_CPU / (2 * usart__baudrate_values[configuration.baudrate]) - 1; |
| } |
| break; |