原创 没有串口的笔记本电脑上如何用Keil仿真调试串口(转)

2011-9-22 15:40 3091 13 13 分类: 工程师职场

参考资料http://blog.ednchina.com/crossmind/100772/message.aspx

准备测试代码:

然后进入KEIL,1,这里选用RealView MDK-ARM Version:3.70下面的一个示例hello为例。

20110922153749001.jpg

对代码略做修改:

20110922153750002.jpg

单独运行程序,在模拟器上debug,如下:

20110922153751003.jpg

准备工具;

先用虚拟串口软件虚拟两个串口,这里用的是VSPD XP 5.1,虚拟出来的串口是com3,com4已经互相连接起来了。20110922153752004.png

串口助手

20110922153753005.jpg

 

发信息出来:

把需要调试的程序编译连接后,进入DEBUG界面;
command窗口中输入:
MODE COM1 9600, 0, 8, 1
(波特率要和程序中设定的波特率一样,别忘记设晶振频率)

20110922153754006.jpg

然后,再输入:
ASSIGN COM1 <S1IN >S1OUT
其中COM1PC口,S1INS1OUT为芯片的口

ASSIGN命令用于将PCCOM端口作为μVision软件仿真器的输入UART

如果输入如下的命令,串行I/O口是通过COM2(PC的接口)实现的。

STIME变量用于忽视仿真串行接口的定时。

>MODE COM2 9600, 0, 8, 1    /*9600 bps, no parity, 8 data & 1 stop bit*/

>ASSIGN COM2 <S0IN >S0OUT  /*ASC0 output & input is done with COM2:*/

 

这样KEIL仿真单片机的串口就与虚拟串口COM1连接起来了,因为COM2COM1通过VSPD XP 5.1连接,所以串口助手可以看到其信息,如下图:

20110922153755007.jpg

 

接收信息并发出:

  while (1) {

  tt=getkey();

  //input the abcd,output the ABCD

  //a(0x61)     b(ox62)...             

  //A(0x41)    B(0x42)...

  t2=sendchar(tt-0x20);

  }

20110922153756008.jpg

 

MODE COM1 9600, 0, 8, 1

ASSIGN COM1 <S1IN >S1OUT

20110922153757009.jpg

assign

20110922153758010.jpg

 

丛串口输入的数据不能被收到并发出,不知道什么原因。

 

压缩包为本文档,串口助手和虚拟串口破解版.

rar.gifwd_20110922.rar

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
13
关闭 站长推荐上一条 /3 下一条