UART 通信或 RS232 串行接口由許多微控制器提供。μVision 調試器模擬 UART 接口并提供串行窗口進行通信。串行 Windows 的操作類似于終端。作為替代方案,可以使用ASSIGN 命令將串行輸出重定向到任何 COM 端口。
外設對話框
通過菜單?Peripherals提供的UART或Serial對話框顯示微控制器的串行接口狀態。這些對話框允許查看系統的通信波特率和其他參數。

虛擬仿真寄存器?(VTREG)
模擬?UART 通信的 VTREG 實現如下:
| VTREG | Description | 
| SxIN | 是串行接口 x的輸入緩沖區。SxIN 接受由目標程序讀取的 8 位或 9 位值。讀取 SxIN 以確定輸入緩沖區何時準備好接受另一個字符。特殊值 0xFFFF 表示前一個值已被處理并且可以寫入新值。其他特殊值可用于模擬奇偶校驗錯誤或幀錯誤。 | 
| SxOUT | 是串行接口 x的輸出緩沖區。μVision 將 8 位或 9 位值(按編程)復制到 SxOUT VTREG。 | 
| SxTIME | 定義串行接口x的波特率時序。當 SxTIME 為 1 時,μVision 使用編程的波特率模擬串行接口的時序。當 SxTIME 為 0(默認值)時,編程的波特率時序被忽略,串行傳輸是瞬時的。 | 
VTREG(SxIN、SxOUT 和 SxTIME)的命名約定因器件而異。一些設備提供了不止一個 UART 接口。因此,VTREG 名稱可能以 S0 或 S1 為前綴。使用命令DIR VTREG檢查 UART 接口的 VTREG 名稱。
通過?SxIN VTREG 輸入字符
SxIN VTREG 代表微控制器片上串行端口的輸入。從命令行窗口使用的以下命令將值輸入到串行流中。此外,串行窗口可用于輸入串行端口的值。
SIN = 'A' ????/* Input the letter A to the serial stream */
SIN = 0x019E /* Input the 9-bit value 19Ex to the serial stream */
SIN = 0xA9 ?/* Input value 0xA9 to I/O stream for the UART */
控制?UART 通信時序
SxTIME VTREG 允許控制模擬串行端口的時序。
l 值為?1 表示串行端口時序與目標硬件相同。使用此值來模擬串行端口 I/O 上的波特率的含義。
l 值為?0 表示串行輸入和輸出是瞬時發生的。當波特率不相關或加速串行輸出時使用此值。
例如:
STIME = 0 /* 將 Serial 0 設置為 FAST 時序 */
STIME = 1 /* 設置 Serial 0 以獲得準確的計時 */
UART 仿真示例
以下調試腳本以大約?19.200 波特的速度發送字符“A”-“Z”。
signal void serialA_Z (void) {
??char ch;
??for (ch = 'A'; ch < 'Z'; ch++) ??{
???S0IN = ch; ?????????????????????????????/* Send character */
???twatch (CLOCK / 900);
??} ??????????????????????????????????????/* Repeat */
}

 首頁 > 資源中心 > FAQ
 首頁 > 資源中心 > FAQ             
                 
 