| 전자부품 데이터시트 검색엔진 |
|
PIC16F883-E/SO. 데이터시트(PDF) 167 Page - Microchip Technology |
|
|
|||||||||||||||||||||||||||||
PIC16F883-E/SO. 데이터시트(HTML) 167 Page - Microchip Technology |
|
167 / 338 page ![]() 2006-2012 Microchip Technology Inc. DS41291G-page 167 PIC16F882/883/884/886/887 12.3 EUSART Baud Rate Generator (BRG) The Baud Rate Generator (BRG) is an 8-bit or 16-bit timer that is dedicated to the support of both the asynchronous and synchronous EUSART operation. By default, the BRG operates in 8-bit mode. Setting the BRG16 bit of the BAUDCTL register selects 16-bit mode. The SPBRGH, SPBRG register pair determines the period of the free running baud rate timer. In Asynchronous mode the multiplier of the baud rate period is determined by both the BRGH bit of the TXSTA register and the BRG16 bit of the BAUDCTL register. In Synchronous mode, the BRGH bit is ignored. Table 12-3 contains the formulas for determining the baud rate. Example 12-1 provides a sample calculation for determining the baud rate and baud rate error. Typical baud rates and error values for various asynchronous modes have been computed for your convenience and are shown in Table 12-3. It may be advantageous to use the high baud rate (BRGH = 1), or the 16-bit BRG (BRG16 = 1) to reduce the baud rate error. The 16-bit BRG mode is used to achieve slow baud rates for fast oscillator frequencies. Writing a new value to the SPBRGH, SPBRG register pair causes the BRG timer to be reset (or cleared). This ensures that the BRG does not wait for a timer overflow before outputting the new baud rate. If the system clock is changed during an active receive operation, a receive error or data loss may result. To avoid this problem, check the status of the RCIDL bit to make sure that the receive operation is Idle before changing the system clock. EXAMPLE 12-1: CALCULATING BAUD RATE ERROR TABLE 12-3: BAUD RATE FORMULAS TABLE 12-4: REGISTERS ASSOCIATED WITH THE BAUD RATE GENERATOR For a device with FOSC of 16 MHz, desired baud rate of 9600, Asynchronous mode, 8-bit BRG: Solving for SPBRGH:SPBRG: X FOSC Desired Baud Rate --------------------------------------------- 64 --------------------------------------------- 1 – = Desired Baud Rate FOSC 64 [SPBRGH:SPBRG] 1 + --------------------------------------------------------------------- = 16000000 9600 ------------------------ 64 ------------------------1 – = 25.042 25 == Calculated Baud Rate 16000000 64 25 1 + --------------------------- = 9615 = Error Calc. Baud Rate Desired Baud Rate – Desired Baud Rate -------------------------------------------------------------------------------------------- = 9615 9600 – 9600 ---------------------------------- 0.16% == Configuration Bits BRG/EUSART Mode Baud Rate Formula SYNC BRG16 BRGH 00 0 8-bit/Asynchronous FOSC/[64 (n+1)] 00 1 8-bit/Asynchronous FOSC/[16 (n+1)] 01 0 16-bit/Asynchronous 01 1 16-bit/Asynchronous FOSC/[4 (n+1)] 10 x 8-bit/Synchronous 11 x 16-bit/Synchronous Legend: x = Don’t care, n = value of SPBRGH, SPBRG register pair Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Register on Page BAUDCTL ABDOVF RCIDL — SCKP BRG16 — WUE ABDEN 166 RCSTA SPEN RX9 SREN CREN ADDEN FERR OERR RX9D 165 SPBRG BRG7 BRG6 BRG5 BRG4 BRG3 BRG2 BRG1 BRG0 167 SPBRGH BRG15 BRG14 BRG13 BRG12 BRG11 BRG10 BRG9 BRG8 167 TXSTA CSRC TX9 TXEN SYNC SENDB BRGH TRMT TX9D 164 Legend: x = unknown, - = unimplemented read as ‘0’. Shaded cells are not used for the Baud Rate Generator. |
|
링크 URL |
| ALLDATASHEET 가 귀하에 도움이 되셨나요? [ DONATE ] |
Alldatasheet는? | 광고문의 | 운영자에게 연락하기 | 개인정보취급방침 | 링크 투 데이터시트 | 링크교환 | 제조사별 검색 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |