Subversion Repositories idreammicro-avr

Compare Revisions

Ignore whitespace Rev 37 → Rev 38

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