⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart_bdr.h

📁 AT89C5131的接口驱动
💻 H
📖 第 1 页 / 共 5 页
字号:
/*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 + -