/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; |