這裡記錄了使用單晶片 EFM8BB3 的 UART1 ,所需要的基本設定。(未使用 CTS 及 RTS)
- 設定暫存器 XBR2 : Port I/O Crossbar 2 (SFR Page = 0x0, 0x20; SFR Address: 0xE3)
- 將 [Bit6] XBARE 設為 1 (Crossbar enabled.)
- 將 [Bit0] URT1E 設為 1 (UART1 TX1 RX1 routed to Port pins.)
- 使用 PnSKIP 將 UART1 的 TX 及 RX 指定到位。
- 設定暫存器 SCON1 : UART1 Serial Port Control (SFR Page = 0x20; SFR Address: 0xC8)
- 將 [Bit4] REN 設為 1 (UART1 reception enabled.)
- 設定暫存器 SBCON1 : UART1 Baud Rate Generator Control (SFR Page = 0x20; SFR Address: 0x94)
- 將 [Bit6] BREN 設為 1 (Enable the baud rate generator.)
- 依需求設置 [Bit2:0] BPS (Baud Rate Prescaler Select.)
- 設定底下兩個暫存器以決定 Baud Rate,必須先寫入 SBRLH1 之後再寫入 SBRLL1。
- SBRLH1 : UART1 Baud Rate Generator High Byte (SFR Page = 0x20; SFR Address: 0x96)
- SBRLL1 : UART1 Baud Rate Generator Low Byte (SFR Page = 0x20; SFR Address: 0x95)
- 設定暫存器 UART1FCN1: UART1 FIFO Control 1 (SFR Page = 0x20; SFR Address: 0xD8)
- 將 [Bit0] RIE 設為 1 (The RI flag will generate UART1 interrupts when it is set.)
以上即為使用 UART1 的最基本設置。