Chinaunix首页 | 论坛 | 博客
  • 博客访问: 962149
  • 博文数量: 175
  • 博客积分: 2788
  • 博客等级: 少校
  • 技术积分: 2060
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 12:25
个人简介

知之者不如好之,好之者不如乐之

文章分类

全部博文(175)

文章存档

2016年(1)

2015年(20)

2014年(8)

2013年(68)

2012年(16)

2011年(35)

2010年(1)

2008年(26)

分类: 嵌入式

2014-03-24 11:05:02

原文:

洗脚水(Email:              



题目有点拗口,想利用串口调试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





说明:



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
S1OUT





 



说明



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



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



例如:ASSIGN COM1 < SIN > SOUT



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



ASSIGN COM2 < SIN > SOUT



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



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



 



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





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


相关转载:
      
     
阅读(3026) | 评论(0) | 转发(1) |
0

上一篇:有关STM32的内部Flash

下一篇:CRC原理和实现

给主人留下些什么吧!~~