📄 uart_bdr.h
字号:
/*H**************************************************************************
* NAME: uart_bdr.h
*----------------------------------------------------------------------------
* Copyright (c) 2003 Atmel.
*----------------------------------------------------------------------------
* RELEASE: c5131-usb-cdc-1_0_1
* REVISION: 1.5
*----------------------------------------------------------------------------
* PURPOSE:
* Provide Baudrate configuration for MCU
*****************************************************************************/
#ifndef _UART_BDR_H_
#define _UART_BDR_H_
// <== Using generator script/bdr.c c5131-usb-cdc-1_0_1 $Id: uart_bdr.h,v 1.5 2003/08/19 12:44:19 njourdan Exp $
// BRG-0 refers to standard Atmel Internal Baudrate Generator peripheral (if available)
// BRG-1 refers to standard C51 Timer 1 peripheral used as Baudrate Generator
// BRG-2 refers to standard C52 Timer 2 peripheral used as Baudrate Generator (if available)
#ifndef FOSC
#error You must define FOSC in config.h
#elif FOSC == 32 // Fosc = 32.768 kHz
#if BAUDRATE == 110 // 110 bps Serial Speed
#define BRG0_INIT 247 // 113 bps (delta=2.72%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 253 // 113 bps (delta=2.72%)
#define BRG1_REQUIRE_SMOD1
#define BRG1_REQUIRE_X2_MODE
#define BRG2_INIT 65527 // 113 bps (delta=2.72%)
#elif BAUDRATE == 300 // 300 bps Serial Speed
#define BRG0_INIT 249 // 292 bps (delta=2.66%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG0_REQUIRE_X2_MODE
#define BRG2_INIT 65529 // 292 bps (delta=2.66%)
#define BRG2_REQUIRE_X2_MODE
#else
#error Only these baudrates are available (*=x2 mode only):
#error BRG-0 110 *300
#error BRG-1 *110
#error BRG-2 110 *300
#endif
#elif FOSC == 65 // Fosc = 65.536 kHz
#if BAUDRATE == 110 // 110 bps Serial Speed
#define BRG0_INIT 253 // 113 bps (delta=2.72%)
#define BRG0_REQUIRE_SMOD1
#define BRG1_INIT 253 // 113 bps (delta=2.72%)
#define BRG1_REQUIRE_SMOD1
#define BRG2_INIT 65518 // 113 bps (delta=2.72%)
#elif BAUDRATE == 300 // 300 bps Serial Speed
#define BRG0_INIT 249 // 292 bps (delta=2.66%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG2_INIT 65529 // 292 bps (delta=2.66%)
#else
#error Only these baudrates are available (*=x2 mode only):
#error BRG-0 110 300
#error BRG-1 110
#error BRG-2 110 300
#endif
#elif FOSC == 1000 // Fosc = 1000.000 kHz
#if BAUDRATE == 110 // 110 bps Serial Speed
#define BRG0_INIT 209 // 110 bps (delta=0.00%)
#define BRG0_REQUIRE_SMOD1
#define BRG1_INIT 209 // 110 bps (delta=0.00%)
#define BRG1_REQUIRE_SMOD1
#define BRG2_INIT 65252 // 110 bps (delta=0.00%)
#elif BAUDRATE == 300 // 300 bps Serial Speed
#define BRG0_INIT 204 // 300 bps (delta=0.00%)
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 239 // 306 bps (delta=2.00%)
#define BRG1_REQUIRE_SMOD1
#define BRG2_INIT 65432 // 300 bps (delta=0.00%)
#elif BAUDRATE == 1200 // 1200 bps Serial Speed
#define BRG0_INIT 243 // 1201 bps (delta=0.08%)
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 247 // 1157 bps (delta=3.58%)
#define BRG1_REQUIRE_SMOD1
#define BRG1_REQUIRE_X2_MODE
#define BRG2_INIT 65510 // 1201 bps (delta=0.08%)
#elif BAUDRATE == 2400 // 2400 bps Serial Speed
#define BRG0_INIT 243 // 2403 bps (delta=0.12%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG2_INIT 65523 // 2403 bps (delta=0.12%)
#elif BAUDRATE == 4800 // 4800 bps Serial Speed
#define BRG0_INIT 243 // 4807 bps (delta=0.14%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG0_REQUIRE_X2_MODE
#define BRG2_INIT 65523 // 4807 bps (delta=0.14%)
#define BRG2_REQUIRE_X2_MODE
#else
#error Only these baudrates are available (*=x2 mode only):
#error BRG-0 110 300 1200 2400 *4800
#error BRG-1 110 300 *1200
#error BRG-2 110 300 1200 2400 *4800
#endif
#elif FOSC == 1834 // Fosc = 1834.200 kHz
#if BAUDRATE == 110 // 110 bps Serial Speed
#define BRG0_INIT 213 // 111 bps (delta=0.90%)
#define BRG1_INIT 213 // 111 bps (delta=0.90%)
#define BRG2_INIT 65015 // 110 bps (delta=0.00%)
#elif BAUDRATE == 300 // 300 bps Serial Speed
#define BRG0_INIT 65 // 300 bps (delta=0.00%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 240 // 298 bps (delta=0.66%)
#define BRG2_INIT 65345 // 300 bps (delta=0.00%)
#elif BAUDRATE == 1200 // 1200 bps Serial Speed
#define BRG0_INIT 252 // 1194 bps (delta=0.50%)
#define BRG1_INIT 252 // 1194 bps (delta=0.50%)
#define BRG2_INIT 65488 // 1194 bps (delta=0.50%)
#elif BAUDRATE == 2400 // 2400 bps Serial Speed
#define BRG0_INIT 254 // 2388 bps (delta=0.50%)
#define BRG1_INIT 254 // 2388 bps (delta=0.50%)
#define BRG2_INIT 65512 // 2388 bps (delta=0.50%)
#elif BAUDRATE == 4800 // 4800 bps Serial Speed
#define BRG0_INIT 255 // 4776 bps (delta=0.50%)
#define BRG1_INIT 255 // 4776 bps (delta=0.50%)
#define BRG2_INIT 65524 // 4776 bps (delta=0.50%)
#elif BAUDRATE == 9600 // 9600 bps Serial Speed
#define BRG0_INIT 255 // 9553 bps (delta=0.48%)
#define BRG0_REQUIRE_SMOD1
#define BRG1_INIT 255 // 9553 bps (delta=0.48%)
#define BRG1_REQUIRE_SMOD1
#define BRG2_INIT 65530 // 9553 bps (delta=0.48%)
#elif BAUDRATE == 19200 // 19200 bps Serial Speed
#define BRG0_INIT 253 // 19106 bps (delta=0.48%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 255 // 19106 bps (delta=0.48%)
#define BRG1_REQUIRE_SMOD1
#define BRG1_REQUIRE_X2_MODE
#define BRG2_INIT 65533 // 19106 bps (delta=0.48%)
#elif BAUDRATE == 28800 // 28800 bps Serial Speed
#define BRG0_INIT 255 // 28659 bps (delta=0.48%)
#define BRG0_REQUIRE_SPD
#define BRG2_INIT 65534 // 28659 bps (delta=0.48%)
#elif BAUDRATE == 38400 // 38400 bps Serial Speed
#define BRG0_INIT 253 // 38212 bps (delta=0.48%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG0_REQUIRE_X2_MODE
#define BRG2_INIT 65533 // 38212 bps (delta=0.48%)
#define BRG2_REQUIRE_X2_MODE
#elif BAUDRATE == 57600 // 57600 bps Serial Speed
#define BRG0_INIT 255 // 57318 bps (delta=0.48%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG2_INIT 65535 // 57318 bps (delta=0.48%)
#elif BAUDRATE == 115200 // 115200 bps Serial Speed
#define BRG0_INIT 255 // 114637 bps (delta=0.48%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG0_REQUIRE_X2_MODE
#define BRG2_INIT 65535 // 114637 bps (delta=0.48%)
#define BRG2_REQUIRE_X2_MODE
#else
#error Only these baudrates are available (*=x2 mode only):
#error BRG-0 110 300 1200 2400 4800 9600 19200 28800 *38400 57600 *115200
#error BRG-1 110 300 1200 2400 4800 9600 *19200
#error BRG-2 110 300 1200 2400 4800 9600 19200 28800 *38400 57600 *115200
#endif
#elif FOSC == 2000 // Fosc = 2000.000 kHz
#if BAUDRATE == 110 // 110 bps Serial Speed
#define BRG0_INIT 209 // 110 bps (delta=0.00%)
#define BRG1_INIT 209 // 110 bps (delta=0.00%)
#define BRG2_INIT 64968 // 110 bps (delta=0.00%)
#elif BAUDRATE == 300 // 300 bps Serial Speed
#define BRG0_INIT 152 // 300 bps (delta=0.00%)
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 221 // 297 bps (delta=1.00%)
#define BRG1_REQUIRE_SMOD1
#define BRG2_INIT 65328 // 300 bps (delta=0.00%)
#elif BAUDRATE == 1200 // 1200 bps Serial Speed
#define BRG0_INIT 230 // 1201 bps (delta=0.08%)
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 247 // 1157 bps (delta=3.58%)
#define BRG1_REQUIRE_SMOD1
#define BRG2_INIT 65484 // 1201 bps (delta=0.08%)
#elif BAUDRATE == 2400 // 2400 bps Serial Speed
#define BRG0_INIT 243 // 2403 bps (delta=0.12%)
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 247 // 2314 bps (delta=3.58%)
#define BRG1_REQUIRE_SMOD1
#define BRG1_REQUIRE_X2_MODE
#define BRG2_INIT 65510 // 2403 bps (delta=0.12%)
#elif BAUDRATE == 4800 // 4800 bps Serial Speed
#define BRG0_INIT 243 // 4807 bps (delta=0.14%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG2_INIT 65523 // 4807 bps (delta=0.14%)
#elif BAUDRATE == 9600 // 9600 bps Serial Speed
#define BRG0_INIT 243 // 9615 bps (delta=0.15%)
#define BRG0_REQUIRE_SMOD1
#define BRG0_REQUIRE_SPD
#define BRG0_REQUIRE_X2_MODE
#define BRG2_INIT 65523 // 9615 bps (delta=0.15%)
#define BRG2_REQUIRE_X2_MODE
#else
#error Only these baudrates are available (*=x2 mode only):
#error BRG-0 110 300 1200 2400 4800 *9600
#error BRG-1 110 300 1200 *2400
#error BRG-2 110 300 1200 2400 4800 *9600
#endif
#elif FOSC == 2457 // Fosc = 2457.600 kHz
#if BAUDRATE == 110 // 110 bps Serial Speed
#define BRG0_INIT 198 // 110 bps (delta=0.00%)
#define BRG1_INIT 198 // 110 bps (delta=0.00%)
#define BRG2_INIT 64838 // 110 bps (delta=0.00%)
#elif BAUDRATE == 300 // 300 bps Serial Speed
#define BRG0_INIT 128 // 300 bps (delta=0.00%)
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 213 // 297 bps (delta=1.00%)
#define BRG1_REQUIRE_SMOD1
#define BRG2_INIT 65280 // 300 bps (delta=0.00%)
#elif BAUDRATE == 1200 // 1200 bps Serial Speed
#define BRG0_INIT 224 // 1200 bps (delta=0.00%)
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 245 // 1163 bps (delta=3.08%)
#define BRG1_REQUIRE_SMOD1
#define BRG2_INIT 65472 // 1200 bps (delta=0.00%)
#elif BAUDRATE == 2400 // 2400 bps Serial Speed
#define BRG0_INIT 240 // 2400 bps (delta=0.00%)
#define BRG0_REQUIRE_SPD
#define BRG1_INIT 245 // 2327 bps (delta=3.04%)
#define BRG1_REQUIRE_SMOD1
#define BRG1_REQUIRE_X2_MODE
#define BRG2_INIT 65504 // 2400 bps (delta=0.00%)
#elif BAUDRATE == 4800 // 4800 bps Serial Speed
#define BRG0_INIT 248 // 4800 bps (delta=0.00%)
#define BRG0_REQUIRE_SPD
#define BRG2_INIT 65520 // 4800 bps (delta=0.00%)
#elif BAUDRATE == 9600 // 9600 bps Serial Speed
#define BRG0_INIT 252 // 9600 bps (delta=0.00%)
#define BRG0_REQUIRE_SPD
#define BRG2_INIT 65528 // 9600 bps (delta=0.00%)
#elif BAUDRATE == 19200 // 19200 bps Serial Speed
#define BRG0_INIT 254 // 19200 bps (delta=0.00%)
#define BRG0_REQUIRE_SPD
#define BRG2_INIT 65532 // 19200 bps (delta=0.00%)
#elif BAUDRATE == 38400 // 38400 bps Serial Speed
#define BRG0_INIT 255 // 38400 bps (delta=0.00%)
#define BRG0_REQUIRE_SPD
#define BRG2_INIT 65534 // 38400 bps (delta=0.00%)
#else
#error Only these baudrates are available (*=x2 mode only):
#error BRG-0 110 300 1200 2400 4800 9600 19200 38400
#error BRG-1 110 300 1200 *2400
#error BRG-2 110 300 1200 2400 4800 9600 19200 38400
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -