日韩中文在线观看-欧美性综合-伊人视频在线观看-亚洲免费在线视频观看-国产偷人视频-人妻丰满熟妇岳av无码区hd-国产一级淫片a视频免费观看-国产精品交换-国产精品1区2区3区4区-美女日批视频在线观看-欧美日韩一区二区三区自拍

【ARM】如何使用Keil仿真中的UART通信?-2022

UART 通信或 RS232 串行接口由許多微控制器提供。μVision 調試器模擬 UART 接口并提供串行窗口進行通信。串行 Windows 的操作類似于終端。作為替代方案,可以使用ASSIGN 命令將串行輸出重定向到任何 COM 端口。

外設對話框

通過菜單?Peripherals提供的UART或Serial對話框顯示微控制器的串行接口狀態。這些對話框允許查看系統的通信波特率和其他參數。


虛擬仿真寄存器?(VTREG)

模擬?UART 通信的 VTREG 實現如下:

VTREGDescription
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 */

}

主站蜘蛛池模板: 阿尔山市| 荔波县| 神木县| 文山县| 进贤县| 象山县| 普陀区| 株洲市| 托克托县| 伊川县| 西青区| 高密市| 德州市| 平和县| 商丘市| 夏津县| 泸水县| 涟水县| 巴中市| 原平市| 昆明市| 峡江县| 安福县| 昌图县| 舒兰市| 乡城县| 三河市| 清水县| 光山县| 凤翔县| 元氏县| 巍山| 朔州市| 玛曲县| 贵南县| 军事| 莱阳市| 鸡泽县| 古浪县| 集贤县| 济源市|