原创 keil MDK 中使用虚拟串口调试串口【下载】

2009-12-2 19:44 6331 9 11 分类: MCU/ 嵌入式

keil MDK 中使用虚拟串口调试串口





洗脚水(Email:jiaming.zhong@gmail.com              



题目有点拗口,想利用串口调试Modbus啊,GPS啊什么的,可是手头没有硬件,怎么办?其实字节KEIL MDKVSPD(这里两个软件网上都很容易就可以下载到破解版,如果找不到可以给我联系)就可以,这样调试串口就会很方便了。看了很多的文章,写的都很简单(其实也很简单:))。给出个详细一点的教程。



1.      
利用VSPDPC上的两个虚拟串口连接起来。如图我将COM4 COM5连接起来。点击Addr
pair



点击看大图



2.      
2.可以看到Virtual ports上将两个虚拟串口连接到了一起了。



点击看大图



3.虚拟串口准备就绪了。先将直接输入命令的方式来调试。我们打开KEIL MDK的,设置成仿真的模式。点DEBUG.COMMAND串口输入:MODE   COM4   9600,
 n,  8,  1



82804204-e62a-4f65-8044-312b1f3bb012.gif



说明:



MODE命令的作用是设置被绑定计算机串口的参数。基本使用方式为:



MODE COMx baudrate, parity, databits, stopbits



其中:



COMxx = 12,…)代表计算机的串口号;



baudrate代表串口的波特率;parity代表校验方式;



databits代表数据位长度;



stopbits代表停止位长度。



例如:MODE COM1 9600, n, 8, 1



设置串口1。波特率为9 600,无校验位,8位数据,1位停止位。



MODE COM2 19200, 1, 8, 1



设置串口2。波特率为19 200,奇校验,8位数据,1位停止位。



4、点回车后,再输入 ASSIGN COM4 <S1IN>
S1OUT



b11c5e9f-2b39-47ac-ad3d-6d921fcdb5c0.gif



 



说明



COMx代表计算机的串口,可以是COM1COM2COM3或其他;



inregoutreg代表单片机的串口。对于只有一个串口的普通单片机,SINSOUT;对于有两个或者多个串口的单片机,即SnINSnOUTn=01,…即单片机的串口号)。



例如:ASSIGN COM1 < SIN > SOUT



将计算机的串口1绑定到单片机的串口(针对只有一个串口的单片机)。



ASSIGN COM2 < SIN > SOUT



将计算机的串口2绑定到单片机的串口0(针对有多个串口的单片机,注意串口号的位置)。



需要注意的是,参数的括号是不能省略的,而outreg则是没有括号的。



 



5、然后调试程序。可以看到串口COM5打印出了串口1的数据了。



9e3a79b1-d34e-4ca5-924c-228b063127af.gif



这样就能够将计算机的串口模拟成单片机的串口了。在进行软件仿真时,所有发送到被绑定的计算机串口上的数据都会转发到Keil模拟的单片机串口上,用户程序可以通过中断处理程序或查询方式接收到这些数据;同样,单片机程序中发送到单片机串口上的数据也会通过被绑定的计算机串口发送出来,可以被其他软件所接收。利用这个特点,就可以方便地仿真、调试单片机的串口部分程序。要注意的是,这两个命令需要一起使用。


pdf




 





文章评论2条评论)

登录后参与讨论

用户230766 2011-3-31 16:13

不用在开发板上跑,直接软件仿真。

用户1137126 2010-12-30 21:57

这种方式你说是在仿真模式下的。想问下,你说偶的仿真模式 是不用开发板的 方式,纯粹在keil上跑吗 ? 在板子上跑能用这种方式吗? 谢谢!
相关推荐阅读
用户230766 2011-09-09 11:18
车载网络通信及现场总线
车载网络通信及现场总线.pdf...
用户230766 2011-03-31 16:20
高质量C++_C编程指南【下载】
...
用户230766 2011-03-09 10:55
关于器件的选型
     最近在设计中遇到了很头疼的事情,经常出现采购无法采购到我想要的IC,或者采购到的IC的封装不对。这些问题很容易影响项目进度,同时也会导致设计者无休止的对应这些琐事,浪费时间。为什么出现这种情...
用户230766 2011-02-12 13:05
逻辑电平兼容与逻辑电平转换
逻辑电平兼容与逻辑电平转换(简单总结)1. 常用的电平转换方案(1) 晶体管+上拉电阻法    就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正...
用户230766 2011-01-25 15:23
Electronic low-pass fileters
A low-pass filter is a filter that passed low-freq signals but attenuates signals wtih freq higher t...
用户230766 2010-06-08 09:34
内联函数(整理于互联网)
定义  内联函数从源代码层看,有函数的结构,而在编译后,却不具体函数的性质。编译时,类似宏替换地,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是否能形成内联函数,需要看编译器对该函...
EE直播间
更多
我要评论
2
9
关闭 站长推荐上一条 /4 下一条