参考资料http://blog.ednchina.com/crossmind/100772/message.aspx
准备测试代码:
然后进入KEIL,1,这里选用RealView MDK-ARM Version:3.70下面的一个示例hello为例。
对代码略做修改:
单独运行程序,在模拟器上debug,如下:
准备工具;
先用虚拟串口软件虚拟两个串口,这里用的是VSPD XP 5.1,虚拟出来的串口是com3,com4已经互相连接起来了。
串口助手
发信息出来:
把需要调试的程序编译连接后,进入DEBUG界面;
在command窗口中输入:
MODE COM1 9600, 0, 8, 1(波特率要和程序中设定的波特率一样,别忘记设晶振频率)
然后,再输入:
ASSIGN COM1 <S1IN >S1OUT(其中COM1为PC口,S1IN和S1OUT为芯片的口)
ASSIGN命令用于将PC的COM端口作为μ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连接起来了,因为COM2和COM1通过VSPD XP 5.1连接,所以串口助手可以看到其信息,如下图:
接收信息并发出:
while (1) {
tt=getkey();
//input the abcd,output the ABCD
//a(0x61) b(ox62)...
//A(0x41) B(0x42)...
t2=sendchar(tt-0x20);
}
MODE COM1 9600, 0, 8, 1
ASSIGN COM1 <S1IN >S1OUT
assign
丛串口输入的数据不能被收到并发出,不知道什么原因。
压缩包为本文档,串口助手和虚拟串口破解版.
文章评论(0条评论)
登录后参与讨论