米尔科技提醒您:您的浏览器版本过低或者使用了兼容模式,为了获得更好的浏览体验,建议使用IE10以上的浏览器或使用极速模式。 请升级浏览器以获得更好的体验!

assign命令

问题类别: > 浏览次数:3959
发布日期:2012/4/23 16:43:08 文章来源:米尔科技
回复日期:2020/12/20 10:17:31

环境说明

MDK-ARM中国版3.05以上

分析描述

(1)用 dir vtreg 查一下 VTREG 寄存器,和 assign 相关的只有 U0IN、U0OUT 和 U1IN、U1OUT 二对,看来和 UART #x 没有直接的联系;(2)用 assign win < u0in > u0out 命令,并没有发现命令执行后对 USRT #x有明显的作用;(3)同一个程序,用 U0IN、U0OUT 可以和 PC 机交换数据,但把 U0IN、U0OUT换成 U1IN、U1OUT 就不行,没有接收中断功能。发送没有试;

问题解答

问题分析:

CPU引脚寄存器(VTREG)用于仿真CPU引脚的输入和输出。VTREG不是公共标识符,也不在CPU的存储空间中。这些寄存器可以在表达式中使用,但它们的值和用法依赖于具体的CPU。

ASSIGN命令用于显示和修改特定串行端口的输入和输出。
下表显示了支持的端口及默认的输入寄存器(Inreg)和输出寄存器(Outreg)。
端口  默认Inreg   默认Outreg    默认
COMX  None        None          PC上的COM口portX.
WINY  SYIN        SYOUT         串行窗口Y.
表中的,X,Y代表数字,
WINY代表仿真器中的第Y个串行窗口,COMX代表PC的第X个串口。

assign win < syin > syout win 参数可以是win, win2, win3,分别代表三个串口窗.必须要把VTREG和串口窗成功绑定后才可以输入输出数据。
如,assign win < s2in > s2out  的作用是将串口2的输出到UART#1中。

问题解答:

1:syin和syout与UART#X的确没有直接关系,不过它们之间有上述的默认对应关系。

2:在默认情况下,win s1in s1out 是相对应的,这样执行assign win < s1in > s1out 当然没有什么变化。

3:您需要首先确定对应CPU的串口1是否有中断接收功能,因为很可能是对应的串口0有中断接收功能,而串口1可能没有中断接收功能。

相关链接:无