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

合集下载

Keil软件仿真调试

Keil软件仿真调试

51TRACER 仿真调试高级技巧进入调试状态后,Debug 菜单项中的命令可以使用了,有关编译的工具栏按钮消失了,出现了一个用于运行和调试的工具栏,Debug 菜单上的大部份命令都有相应的快捷按钮。

从左到右依次是复位、运行、暂停、单步跟踪、单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮命令;然后按一下图示第二个“运行”按钮。

连接上相关的实验资源,本实验用一条8PIN的数据排线把实验仪的CPU部份的P1口(JP44)连接到八路指示灯部份的JP32。

这时你会看到实验仪的八个红色LED,轮流点亮,表示运行成功,也可以查看相关的变量和参数,非常方便。

⒈单步跟踪运行使用菜单Debug->Step 或上图第四个单步运行按钮或使用快捷键 F11 可以单步跟踪执行程序,在这里我们按下 F11 键,即可执行该箭头所指程序行,每按一次 F11,可以看到源程序窗口的左边黄色调试箭头指向下一行,如果程序中有Delay延时子程序,则会进入延时程序中运行.⒉单步运行如果Delay 程序有错误,可以通过单步跟踪执行来查找错误,但是如果 Delay 程序已正确,每次进行程序调试都要反复执行这些程序行,会使得调试效率很低,为此,可以在调试时使用 F10 来替代 F11(也可使用菜单 Step Over 或相应的命令按钮),在 main 函数中执行到 Delay时将该行作为一条语句快速执行完毕.为了更好的进行对比,我们重新进入仿真环境,将反汇编窗口关闭,不断按 F10 键,可以看到在源程序窗口中的左边黄色调试箭头不会进入到延时子程序。

⒊全速运行点击工具栏上的“运行”按钮或按F5 键启动全速运行,全速执行程序,此时用户板上的 P1 口所接 LED 以流水灯状态显示。

⒋暂停点击工具栏上的按钮,此时用户板上的P1 口所接 LED 停止以流水灯状态显示,只有一个 LED 灯点亮(取决于暂停前的 P1 的值).⒌观察/修改寄存器的值Project 窗口在进入调试状态后显示 Regs 页的内容,包括工作寄存器 R0~R7 的内容和累加器 A、寄存器B、堆栈指针 SP 的内容。

使用Keil软件模拟调试单片机串行口

使用Keil软件模拟调试单片机串行口

使用Keil软件模拟调试单片机串行口单片机串行口是单片机中很常见的接口之一,常用于与外界通讯,如与PC机通讯,接收或发送数据等。

Keil软件可以帮助我们模拟及调试单片机串行口,下面是详细介绍。

一、Keil软件简介Keil是一款强大的单片机编程软件,具有模拟器和仿真器。

其可支持多种嵌入式系统和多种编译器。

同时Keil具有标准C 编译器,专门用于单片机编程,而且具有与某些模拟器和编译器的集成,可提供完整的嵌入式开发环境。

二、使用Keil软件模拟1. 连接软件与硬件在开始模拟之前,需要将单片机与电脑通过串口连接好。

打开“Options for Target”对话框,选择“Debug”选项卡,选择正确的COM 端口,设置存根速度,完成调试设置。

2. 添加串行口文件在Keil软件中打开设计文件,键入“#include <reg52.h>”来添加注册头文件,其中包含了需要使用串口的相关寄存器位。

利用如下代码,可以对串行口的各项参数进行设置,例如波特率、校验位等等。

void init(){SCON = 0X50; //使串口工作在方式1,即8位数据,可变波特率TMOD |= 0X20; //TMOD的高4位设为0010,使Timer1工作在方式2TH1 = 0XF3; //波特率设为2400bpsTL1 = 0XF3;TR1 = 1; //启动Timer1ES = 1; //开启串口中断EA = 1; //打开总中断}3. 编写数据收发代码在调用串口的过程中,我们往往需要使用到接收和发送两个函数。

在接收方面,我们需要设置好接收中断模式以及缓冲区的异步处理。

编写简单的数据接收收发代码如下:void send_data(unsigned char dat){SBUF = sdat; //将数据传输到SBUF当中while(!TI); //等待发送完成TI = 0; //完成发送}unsigned char receive_data(){while(!RI); //等待接收完成RI = 0; // 完成接收return SBUF; // 返回接收缓冲区}4. 最后进行模拟完成串行口配置和数据处理之后,就可以开始模拟调试了。

keil调试程序方法

keil调试程序方法

keil调试程序方法
一、Keil调试程序方法
1、打开Keil,新建工程,在工程目录下,右键选择“添加新建文件”,然后选择“源文件”。

这时会弹出“新建文件对话框”,在文件类型中选择“C文件”。

2、编写C代码,调试程序,为了方便调试,先在程序里加上调试的操作,如“printf”,“getchar”等。

3、如果添加多个C文件时,也可以选择“添加新建文件”,然后选择“工程文件”,在弹出的对话框里输入文件名,然后点击“确定”。

4、编译源代码,编译完成后,查看是否有编译错误,如果没有编译错误,就可以继续下一步。

5、点击编译器的“调试”按钮,它会自动加载要调试的程序,然后就可以进行调试了。

6、在Keil的调试界面上,可以使用鼠标画“断点”,程序运行时,就能自动地停在“断点”处。

7、当一段程序运行完成,可以按F11快捷键,让程序自动运行,或者按“运行”按钮,让程序在断点处暂停,然后再单步执行一行一行调试。

8、Keil调试界面可以编辑程序,也可以查看程序的运行结果,从而可以及时发现程序中的bug。

9、在Keil的调试界面上,可以编辑程序,也可以给变量赋值,从而方便快速地调试程序。

10、当完成调试后,可以按“重新编译”按钮,重新编译整个程序,再查看编译结果,最后保存这个工程,保存文件名为*.uv2文件。

keil printf 调用的串口

keil printf 调用的串口

keil printf 调用的串口
Keil printf调用的串口
Keil是一款很受欢迎的嵌入式开发工具,其中有一个很重要的功能就是能够通过外部串口通信来调试程序。

本文就介绍如何使用Keil printf函数来调用串口来实现调试功能。

1、首先,要在Keil中使用printf函数,必须安装两个文件:stdio.h 和 stdarg.h,它们可以在Keil的库中找到,需要注意的是,stdio.h中的文件要放在stdarg.h的下面。

2、编辑printf函数,在Keil新建一个文件,并将其命名为printf.c,并将其完成并编译,编译完成后可以正确的运行printf 函数:
/* 重定义printf函数 */
int fputc (int ch, FILE *f)
{
SendData(ch); // SendData为串口发送函数,由用户自定义
return ch;
}
/* 重定义getchar函数 */
int fgetc (FILE *f)
{
return 0;
}
3、在Keil的Project Workspace中的“Target”节点的“Output”中,勾上“use MicroLIB”,完成以上步骤后,就可以在程序中使用printf函数来调用外部串口了。

以上就是Keil中如何使用printf函数来调用外部串口的方法,Keil的printf函数可以使得调试程序非常方便,包括调试变量和输出信息等,您可以根据自己的实际情况进行适当的调整,而不必过多的花费时间,达到更快的调试效果。

单片机与PC通信-(proteus与虚拟串口驱动软件以及串口调试助手的仿真)

单片机与PC通信-(proteus与虚拟串口驱动软件以及串口调试助手的仿真)

单片机与PC通信-(proteus 与虚拟串口驱动软件以及串口调试助手的仿真)实验:单片机与PC通信(proteus与虚拟串口驱动软件以及串口调试助手的仿真)实现内容:设置单片机串行口为工作方式一,波特率为9600。

PC从串口发送字符1、2、3或4到单片机串行口,单片机接收到该字符后,首先在P2 口显示字符,然后根据字符不同返回不同字符串,具体要求如下表:表:单片机与PC通信内容一、proteus仿真图:(此proteUS 仿真图可 免费下载, 下载网址:)1、图1.12、注意:(1)51单片机属性的时钟频率(clock frequency )必为11.0592mhz , 否则无法仿真。

请按下图设置AT89SC52PJXJ/M.ID R9.1/&C1 P92/AC2 F*1 V*ti3 F-J 對 Mil PJ.5/WLI5 r.-j--p. Rjjr«i7 P2CU^ 就.sg P2JA1Q 咱•佃H E7SJA1J F2.E1A14 F3皿旳pi.omB F3?JMT0~RZM S T TF5TFlEHI卩卫 Pl 陀曲丽■图1.23、在仿真图中P1即(元件名称:COMPIN模块为集成电平转换的串行通信接口(如下图)(1)图1.3(2)设置参数如下图1.44、虚拟串口驱动设置 在右侧选择端口一: “COM ”端口二:“COM4,然后按“添加端口” ,此时左侧的Virtual ports 下出现:工 Virtual portsS <2 CQM3 [960Q'N^-l]* COM4 [96OO-N-E-11图1.5表示添加了 COM3 COM4^对虚拟串行口,且 已连接,故我们把单片机和PC 选择COM 和 COM4 (如图1.4中的physical port 选项:COM4图 中:串口号COM )。

接着再在右侧选择 端口一:“COM ”端口二:“COM2则为下图,劃E 雷口驱訟6.9 by 耽III 汉化Manage port 占 Port access list 匚 u stem pin outMPD 肓餉魏幢任何你想使用的端口号的虛拟端口 .所以你可以不 受端口吕;3躯的限制1旦呈诒诵■呆I'」芒腔垮支持这些端口号p no port selected no port 眸血“cf使用精确的遁特率模报 综路中斷重新皈夏连接所有虎拟端口捋质全部刪像请 确认所有端口业时都处于关闭 状态。

Keil软件仿真调试

Keil软件仿真调试

Keil软件仿真调试简介Keil软件是ARM公司推出的一款集成开发环境(IDE),提供了编译器、调试器、仿真器、代码库和辅助工具等多种功能。

其中仿真器(Simulator)是Keil软件的主要功能之一,可以方便地对嵌入式系统进行模拟测试和调试,以达到开发的目的。

在Keil软件中,仿真调试(Simulation Debugging)是一种常见的调试方式,其主要思想是通过用实际输入数据替换程序输入参数,执行程序并输出实际的运行结果,与预期结果进行比较,进而找到程序的错误以及解决问题。

仿真调试的原理当我们进行仿真调试时,Keil软件会将程序文件加载到仿真器中进行模拟的运行,仿真器负责模拟CPU、中断、时钟、IO等外设的运行状态,使得程序在仿真环境中能够运行。

仿真调试的实现主要有两种方式:单步调试和断点调试。

单步调试单步调试(Step-by-Step Debugging)指的是在程序运行过程中,每执行一行指令都会停止,通过查看每个变量的值来进行调试的过程。

单步调试可以帮助程序员快速定位程序中可能的问题,并及时进行修改。

在Keil软件中,单步调试可以通过F10和F11快捷键来实现。

断点调试断点调试(Breakpoint Debugging)指的是在程序中设置停止执行的断点,当程序执行到断点处时,程序就会停止运行,执行者就可以检查变量值、栈信息等各种环境,找到程序的问题。

在Keil软件中,断点调试可以通过F9键来设置。

常用仿真调试功能Keil软件提供了众多仿真调试功能,常用的功能包括:数据查看窗口在Keil软件中,可通过打开数据查看窗口(Watch Window)来查看变量值的对应信息。

数据查看窗口主要由寄存器、内存和变量组成,可以通过添加、删除变量、地址以及其他类型来满足用户不同的需求。

显示ASM窗口ASM窗口是一个汇编指令窗口,可以将C语言源程序翻译成相应的汇编指令。

采用汇编语言的程序员可以在此窗口中检查程序的底层代码实现、地址分配等信息。

keil ARM与虚拟串口联调设置及解决办法

keil ARM与虚拟串口联调设置及解决办法

Keil ARM 与虚拟串口联调设置第一步:创建虚拟串口使用工具:Configure Virtual Serial Port Driver记住自己创建的两个虚拟串口第二步:创建debug.ini 命令执行文件Mode COM2 9600,0,8,1assign com2 <S2IN> S2OUT注意:1:串口选择与虚拟串口相同2:串口工作波特率,校验方式,数据长度,停止位assign com2 <输入寄存器> 输出寄存器串口工作方式对应9600,0,8,19600,1,8,19600,2,8,1第三步:环境设置第四步:全部编译进入调试:开启仿真,打开串口调试助手。

虚拟串口驱动显示工作方式其他:命令行也可以直接写命令在命令栏中,操作如下:点击进入仿真模式,在命令行将debug.ini命令输入错误解决办法:*** error 30, line 2: undefined name of virtual register问题描述:虚拟寄存器没有定义问题原因:命令assign com2 <S2IN> S2OUT中<S2IN> S2OUT是没有定义的。

可以通过dir vtreg命令查看可以寄存器对将对应串口寄存器写入对应命令中*** error 65: access violation at 0x40021000 : no 'read' permission驱动没有调用正确*** error 127, line 2: Com channel not opened, use MODE command first 命令:Mode COM4 9600,0,8,1assign com4 <S2IN> S2OUT中的串口选择错误,要确保与虚拟串口一致。

如何使用串口调试助手Keil软件仿真的串口调试技巧

如何使用串口调试助手Keil软件仿真的串口调试技巧

如何使用串口调试助手Keil软件仿真的串口调试技巧在嵌入式系统开发中,串口调试是一项非常重要的技术。

Keil软件是一个广泛应用于嵌入式系统开发的软件平台,通过其内置的串口调试助手,我们可以方便地进行仿真的串口调试。

本文将介绍如何使用串口调试助手Keil软件仿真的串口调试技巧。

1. 了解串口基础知识在开始使用串口调试助手之前,首先需要了解一些串口的基础知识。

串口通信是一种通过串行传输数据的通信方式,常用的串口通信标准有RS232、RS485等。

了解波特率、数据位、停止位、校验位等串口通信参数的含义和选择是必要的。

2. 配置串口参数打开Keil软件后,选择对应的工程文件,并进入工程配置页面。

在这里,我们可以找到串口调试助手的配置选项。

根据实际需求,设置串口通信的参数,如波特率、数据位、停止位、校验位等。

确保与目标设备的串口参数一致,才能正常进行串口通信。

3. 编写串口发送与接收代码在代码中,我们需要编写串口发送和接收的相关代码。

通过Keil软件提供的API函数,我们可以方便地实现数据的发送和接收。

在发送数据时,需要将数据写入到相应的寄存器,以便传输到串口。

而在接收数据时,需要从寄存器中读取数据。

通过合理设计代码,可以实现稳定可靠的串口通信。

4. 仿真运行程序完成代码编写后,我们可以进行仿真运行,以验证串口调试功能的正确性。

在Keil软件中,可以选择进行单步调试、断点调试或连续运行调试。

通过监视寄存器的值变化、观察串口发送与接收的数据情况,可以帮助我们进行串口调试。

5. 使用串口调试助手测试在完成仿真运行后,我们可以使用串口调试助手进行测试。

打开串口调试助手,并选择与目标设备串口参数一致的配置。

点击打开串口,即可开始接收串口发送的数据。

通过观察串口调试助手输出的数据,可以验证串口通信的正确性。

6. 调试技巧与注意事项在使用串口调试助手Keil软件进行串口调试时,还需要注意一些调试技巧与注意事项。

首先,确保串口连接正确可靠,避免松动或接触不良导致数据传输错误。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档