青青av-亚洲激情一区二区-欧洲色综合-看片网址国产福利av中文字幕-成人精品毛片-亚洲黄色免费观看-国产夫妻在线观看-69av电影-久久性片-中文字幕av影片-色综合久久久久无码专区

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

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

外設(shè)對話框

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


虛擬仿真寄存器?(VTREG)

模擬?UART 通信的 VTREG 實(shí)現(xiàn)如下:

VTREGDescription
SxIN是串行接口 x的輸入緩沖區(qū)。SxIN 接受由目標(biāo)程序讀取的 8 位或 9 位值。讀取 SxIN 以確定輸入緩沖區(qū)何時準(zhǔn)備好接受另一個字符。特殊值 0xFFFF 表示前一個值已被處理并且可以寫入新值。其他特殊值可用于模擬奇偶校驗(yàn)錯誤或幀錯誤。
SxOUT是串行接口 x的輸出緩沖區(qū)。μVision 將 8 位或 9 位值(按編程)復(fù)制到 SxOUT VTREG。
SxTIME定義串行接口x的波特率時序。當(dāng) SxTIME 為 1 時,μVision 使用編程的波特率模擬串行接口的時序。當(dāng) SxTIME 為 0(默認(rèn)值)時,編程的波特率時序被忽略,串行傳輸是瞬時的。

VTREG(SxIN、SxOUT 和 SxTIME)的命名約定因器件而異。一些設(shè)備提供了不止一個 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 表示串行端口時序與目標(biāo)硬件相同。使用此值來模擬串行端口 I/O 上的波特率的含義。

l 值為?0 表示串行輸入和輸出是瞬時發(fā)生的。當(dāng)波特率不相關(guān)或加速串行輸出時使用此值。

例如:

STIME = 0 /* 將 Serial 0 設(shè)置為 FAST 時序 */

STIME = 1 /* 設(shè)置 Serial 0 以獲得準(zhǔn)確的計(jì)時 */

UART 仿真示例

以下調(diào)試腳本以大約?19.200 波特的速度發(fā)送字符“A”-“Z”。

signal void serialA_Z (void) {

??char ch;

??for (ch = 'A'; ch < 'Z'; ch++) ??{

???S0IN = ch; ?????????????????????????????/* Send character */

???twatch (CLOCK / 900);

??} ??????????????????????????????????????/* Repeat */

}

主站蜘蛛池模板: 宣恩县| 镇平县| 依兰县| 临海市| 塔河县| 洪泽县| 米脂县| 武安市| 辽宁省| 大宁县| 四平市| 浦江县| 阿勒泰市| 蒙自县| 盖州市| 惠水县| 红原县| 山丹县| 金塔县| 建阳市| 农安县| 三都| 侯马市| 阳西县| 汕尾市| 龙游县| 阆中市| 诏安县| 建德市| 谷城县| 大关县| 同德县| 通州区| 龙南县| 涿鹿县| 平利县| 泸溪县| 渝中区| 连南| 文成县| 霍山县|