VC调试工具的使用

VC调试工具的使用
VC调试工具的使用

Visual C++的程序调试

一、在VC下运行一个C程序

1.启动VC

启动VC的前提是首先要安装VC软件。如果你的系统安装了VC软件,当你启动了Windows系统之后,从“开始”菜单进入“所有程序”子菜单,找到Microsoft Visual C++ 6.0并单击它即进入VC软件的主窗口,如图1所示:

图1

图2

2.编辑程序

首先,单击工具栏的New Text File按钮,生成一个新的文本文件窗口,如图2所示;接着,单击Save按钮,激活“保存为”对话框,在指定的文件夹下,输入当前程序的文件名(注意:文件名必须给出.C的扩展名),再按“保存”按钮。到此为止,在指定的目录下,就生成了一个由读者自己命名的C文件(比如

C001.C),接下来,就可以进入编辑屏幕输入你的C源程序了。

由于当前的文件是C源程序文件,在其中输入的任何内容(如:关键字、用户标识符及各种运算符),VC系统都会按C源程序的格式进行编排、组织。比如:在文件中,当你输入了一个C关键字时,VC系统自动将其设定为蓝色字体以示区别;在编辑过程中,如果你输入了一个块结构语句(如:for(i=0;i<10;i++)、if(s!=’\0’)、while(k<5)),按回车后,VC系统会把光标定位在该块语句起始位置开始的下一行的每五个字符位置上,以表示下面输入的内容是属于该块语句的,以体现C源程序的缩进式书写格式;此时,如果输入一个左花括号“{”并回车,VC系统将把该花括号左移到与上一行块语句起始位置对齐的位置上;接着,再按下回车键,VC系统会自动采用缩进格式,将当前光标位置定位在此花括号的下一行的第五列上;如果上一行语句与下一行语句同属于一个程序段(比如:同一个复合语句中的语句),VC系统会自动将这两个程序行的起始位置对齐排列;……更详细的内容请读者自行上机实习,并认真体会其中的输入技巧。

3.编译程序

程序编辑完后,即可对源程序进行编译处理。按“编译微型条”(图2所示)的Compile(功能键是Ctrl+F7)按钮,对程序进行编译,这时,屏幕上出现如图3所示的对话框,让建立一个默认的工程工作区,选“是”按钮确认;紧接着,又出现如图4所示的对话框,问是否要保存当前的C文件,回答“是”;然后,系统开始编译当前程序。如果程序正确,即程序中不存在语法错误,则VC窗口的输出如图5所示的结果。

图3

图4

图5

输出窗口

如果程序中存在语法错误,则在VC的输出窗口显示如图6所示的错误信息。这些信息告诉我们:在编译C001.C的程序时出现错误;错误行是第7行;错误原因是标识符printf前面丢了分号“;”。按照错误提示修改程序,再一次按Ctrl+F7进行编译,直到不存在语法为止。

4.运行程序

当程序编译提示无错误信息(0 error(s))后,按下微型编译条工具栏上的“建立执行程序”(BuildExecute)按钮,或相应的功能键Ctrl+F5,程序开始运行,然后显示程序的输出结果如图7所示。输出结果的屏幕将等待用户按下任意键后,才返回编辑状态,一个C程序的执行过程结束。

图6

图7

二、在VC下调试C程序的方法

1.VC调试功能简介

当一个C源程序编辑完成之后,你可以用上节讲的方法进行编译、运行。如果程序无编译错误,但无运行结果,或运行结果有误时,你就需要调用VC的编译调试工具来调试你的程序,以便找出出错的原因,从而达到正确的运行结果。

VC为调试C程序提供了多种工具和多组方法,常用的方法有菜单法、工具栏法和功能键法。实际上,这三种方法是相似或相同的,只是根据用户的熟悉程度和习惯用法选择其中之一,来完成你的调试过程。作者习惯使用功能键法,因为使用功能键既方便操作,又能节省调试程序的时间,使调试过程在较短的时间内完成。下面结合调试工具来介绍以上立法。

在VC窗口下的菜单栏和工具栏的空白处,点右键激活快捷菜单,选择“编译”菜单项,这时VC窗口就出现了调试工具栏,如图8所示。

图8

调试工具栏中的工具可分为两部分:控制程序运行工具和设置观察窗口工具。

①对于控制程序运行工具,从左到右的常用按钮、功能键及功能说明依次是:

●Restart 重新执行程序,功能键是Ctrl+Shift+F5。无论C源程序处于任何状态(编辑、运行、调试),按下此按钮均可使程序从编译开始,逐步进入调试程序状态。

●Stop Debugging 停止程序调试,功能键是Shift+F5。当调试过程处于跟踪程序执行的状态时,按下此按钮,将停止调试程序,返回编辑状态。编辑状态下此按钮无效。

● Show Next Statement 指示当前程序运行的语句行。

● Step Into 单步运行并且可进入函数内部运行,功能键是F11。程序在调试过程中,按下此按钮可单步跟踪程序运行,与Stp Over按钮不同的是,该功能可进入函数内部,继续函数内部的语句行跟踪。

注意:使用此按钮时,当位于有库函数调用的语句行,不用F11功能,以免进入库函数的汇编程序块中,取而代的是F10功能键。

● Step Over 单步运行程序,功能键是F10。本按钮的功能类似于F11,但它不进入函数内部,它将每一条语句看作一步,包括函数调用语句。

●Step Out 从当前函数中退出,功能键是Shift+F11。当程序运行至某个函数内部时,按下此按钮后,调试状态即从函数内部退出,返回到调用该函数的主函数的当前语句。

●Run to Cursor 运行到当前光标位置,功能键是Ctrl+F10。当程序处于调试状态时,为了跳过某程序段,可预先将光标定位在某语句行上,按下此按钮,即可使程序直接运行到当前光标位置,从而节省了时间,加快了调试程序的步骤。

②对于设置观察窗口工具,其功能主要是为配合程序跟踪运行,设置一些观察点,以便定位出错的位置,从而找到出错的原因。

● QuickWatch 快速观察表达式的值,功能键是Shift+F9。当程序运行到某个关键语句行时,你可以按下该按钮,即在屏幕上显示如图9所示的“QuickWatch”窗口,其中:E表达式下拉列表框中的a,是由用户输入的当前源程序中的一个数组名;V 当前值列表中的“Name”和“Value”列的值就是a数组中所有元素的元素名和元素值。

图9

●Watch 设置观察点。当用户按下该按钮,屏幕显示如图10所示观察窗口,其中的“Name”列和“Value”列为空。这时,用户可以在Name列中输入用户待观察的观察点,即程序中某个变量的名字,然后回车,在Value列就显示出该变量的当前值。观察点可以设置多个,多个观察点还可以分别放在不同的观察标签内(Watch1、Watch2…)。

图10

● Variables 变量列表,当按下此按钮,屏幕显示如图11所示的变量列表窗口。窗口中的“Name”列和“Value”列中列出了当前函数中的所有变量名和相应的值,其中:简单变量只显示变量名和它的值;数组名前面有一个“ ”符号,Value 列显示它的地址值。

图11

●Registers 寄存器列表,按下此按钮,屏幕上显示如图12所示的寄存器窗口,窗口中列出了所有寄存器的内容。

图12

●Memory 内存列表,按下此按钮,屏幕上显示如图13所示的内存列表窗口,其中“A地址”文本框中显示的是内存的当前地址值,下面的列表框中显示的是从指定地址开始的所有内存区域的值,??表示其值不确定(没有赋确定的值)。用户可以在程序运行时,在“Watch”窗口中找到某个变量的地址或数组名的值(数组名本身是一个地址量),然后,将该值输出“A地址”的文本框中,在内存列表区立即就能看到它的存储值,不过该值是一个十六进制的数,并且,一个整型数占据四个字节的存储区域。详细内容可参考下面的例子。

图13

2.使用VC调试C程序的方法

以下程序是全国计算机等级考试二级C语言的一道上机改错题,请考生调试该程序,使其能按要求输出正确的结果。

①程序功能说明

给定程序C003.C中函数fun的功能是:从s所指字符串中,找出t所指子串的个数作为函数值返回。

例如,当s所指字符串中的内容为:"abcdabfab",t所指字符串的内容为:"ab",则函数返回整数3。

请改正程序中的错误,使它能得出正确的结果。

注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!

②源程序

#define N 80

int fun(char *s, char *t)

{

int n=0; char *p , *r;

while ( *s )

{

p=s;

r=p;

while(*r)

if(*r==*p)

{

r++;

p++;

}

else break;

if(*r = O)

n++;

s++;

}

return n;

}

main()

{

char a[N],b[N]; int m;

printf("Enter string a : ");

gets(a);

printf("Enter substring b : ");

gets( b );

m=fun(a, b);

printf(" The result is : m=%d ",m);

}

③调试过程

a) 启动VC系统,编辑输出源程序,并以c003.c命名,结果如图14所示。

图14

b) 按功能键Ctrl+F11编译源程序,编译显示结果如图15所示。

图15

编译结果告诉我们,程序中存在一个错误,两个警告。其中:警告的原因都是因为系统函数没有包含头文件stdio.h,错误的原因是第16行的标识符(identifierf)’O’没有定义。需要说明的是,这里的错误很特别:从程序字面上

看,这里的O好象是数字0,而一般考生也分辨不出或不会认为是O。但是,既然编译系统给出错误信息,就应该根据该错误信息来修改程序。在源程序前面增加一行文件包含命令“#include”,再把字母O改写成字符0(这是缺乏编程经验的考生的共同作法),再一次编译程序,结果告诉我们程序编译成功。

然后,按Ctrl+F5功能键,运行程序,在提示输入的屏幕上输入题目要求的两个字符串,屏幕显示如图16所示,结果再一次告诉考生:程序结果有错,即程序中存在逻辑错误。

图16

c) 接下来,我们对程序作运一步调试,以找出程序出错的真正原因。

调试一个存在逻辑错误的程序,首先要确定程序中可能出现错误的大概位置。根据题意说明可确定错误存在于函数fun中。根据这一判断,我们先将光标定位在fun函数的第一条可执行的语句行上,然后,按下功能键Ctrl+F10,让程序运行到光标位置。注意:这个过程中间要进入输入屏幕状态,等待输入a和b 字符串,请考生按要求输入,用回车符确认。当看到任务栏的VC图标在闪烁,请将窗口切换到VC状态,如图17所示:

图17

接下来,边按功能键F10,边观察屏幕下方变量(Variables)子窗口中p

字符串和r字符串的变化,同时还要注意VC窗口左边的黄色指点针箭头。一直重复以上过程,你会发现,黄色箭头始终没有指向“n++;”语句。我们要找的第一个逻辑错误点就是if语句后面的表达式。按照正常的情况,if后面的表达式应该是关系表达式或逻辑表达式,而这里的表达式是赋值表达式,正确的语句应该是:

if(*r == 0)

n++;

修改之后再按Ctrl+F5运行程序,程序结果如图18所示。

为了利用VC的调试功能和手段,更好地观察其它相关变量的变化规律,在上述过程中,还可以在VC的观察(Watch)窗口输入其它变量,在跟踪程序执行过程中观察其变化。

图18

这种结果也不对,这是第一次错误结果的另一个极端:从m=0变到m=10。

如何查找其中的原因?不仿再回顾一下刚才在跟踪程序运行时,变量(Variables)窗口中的p和r字符串的值的变化情况,再结合程序中r字符串的作用,不难看出,p和r应该是不同的字符串,且p字符串是指向s字符串,而r字符串则应该指向t字符串。正确的结果应该是:将语句“r=p;”改成“r=t;”。

至此,一个存在错误的C程序的调试过程结束,运行该程序,即可得到正确的运行结果。需要说明的是,以上调试的程序只是一个简单的例子,其中用到的调试方法也是经常使用的方法之一,若要真正掌握在VC下调试C程序的方法和步骤,需要读者进行大量的上机实践和练习。

KEIL中如何用虚拟串口调试串口程序

KEIL中如何用虚拟串口调试串口程序 发表于2008/5/7 15:30:22 以前没接触过串口,一直都以为串口很复杂。最近在做一个新项目,用单片机控制GSM模块。单片机和GSM模块接口就是串口。调试完后觉得串口其实很简单。“不过如此”。这可能是工程师做完一个项目后的共同心态吧。下面详细介绍下如何用虚拟串口调试串口发送接收程序。 需要用到三个软件:KEIL,VSPD XP5(virtual serial ports driver xp5.1虚拟串口软件),串口调试助手。 1、首先在KEIL里编译写好的程序。 2、打开VSPD,界面如下图所示: 左边栏最上面的是电脑自带的物理串口。点右边的add pair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。 3、接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL 绑定。在KEIL中进入DEBUG模式。在最下面的COMMAND命令行,输入MODE COM3 4800,0,8,1(设置串口3的波特率、奇偶校验位、数据位、停止位,打开COM3串口,注意设置的波特率和程序里设置的波特率应该一样)ASSIGN COM3 SOUT(把单片机的串口和COM3绑定到一起。因为我用的单片机是AT892051,只有一个串口,所以用SIN,SOUT,如果单片机有几个串口,可以选择S0IN,S0OUT,S1IN,S1OUT。)

4、打开串口调试助手 可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率4800,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。打开COM4。 现在就可以开始调试串口发送接收程序了。可以通过KEIL发送数据,在串口调试助手中就可以显示出来。也可以通过串口调试助手发送数据,在KEIL中接收。这种方法的好处是不用硬件就可以调试。这是网上一篇文章介绍的方法,联系我实际的使用做了整理。有用的着的人就不用继续摸索了

经典的串口调试工具源代码(一)

经典的串口调试助手源代码(一) Dim OutputAscii As Boolean Dim InputString As String Dim OutputString As String '============================================================================== ======= ' 变量定义 '============================================================================== ======= Option Explicit ' 强制显式声明 Dim ComSwitch As Boolean ' 串口开关状态判断 Dim FileData As String ' 要发送的文件暂存Dim SendCount As Long ' 发送数据字节计数器 Dim ReceiveCount As Long ' 接收数据字节计数器Dim InputSignal As String ' 接收缓冲暂存 Dim OutputSignal As String ' 发送数据暂存 Dim DisplaySwitch As Boolean ' 显示开关 Dim ModeSend As Boolean ' 发送方式判断

Dim Savetime As Single ' 时间数据暂存延时用Dim SaveTextPath As String ' 保存文本路径 ' 网页超链接申明 Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Sub CloseCom() '关闭串口 On Error GoTo Err If MSComm.PortOpen = True Then MSComm.PortOpen = False ' 先判断串口是否打 开,如果打开则先关闭 txtstatus.Text = "STATUS:COM Port Cloced" ' 串口状态显示 mnuconnect.Caption = "断开串口" cmdswitch.Caption = "打开串口" 'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\guan.jpg") ' 显示串口已经关闭 的图标 ImgSwitchoff.Visible = True ImgSwitchon.Visible = False Err: End Sub Private Sub UpdateStatus() If MSComm.PortOpen Then StatusBar1.Panels(1).Text = "Connected" mnuautosend.Caption = "自动发送" mnuconnect.Caption = "断开串口" Else StatusBar1.Panels(1).Text = "断开串口" mnuautosend.Caption = "disautosend" mnuconnect.Caption = "打开串口" End If StatusBar1.Panels(2).Text = "COM" & https://www.360docs.net/doc/759688695.html,mPort StatusBar1.Panels(3).Text = MSComm.Settings If (OutputAscii) Then StatusBar1.Panels(4) = "ASCII" Else StatusBar1.Panels(4) = "HEX" End If ' On Error GoTo Err If ChkAutoSend.Value = 1 Then ' 如果有效则,自动发送

Pintos调试心得

Pintos调试心得 一、如何用GDB调试内核: Ctrl+Alt+F1打开终端,cd切换到你的pintos/src/threads/build目录下 输入命令pintos –gdb –run alarm-multiple(注意是双线- -,注意run前的空格)出现下面的界面:(注意uilts文件下已经编译通过,还有bochs打开终端调试) 然后,Ctrl+Alt+F2打开第二个终端登录并切换到pintos/src/threads/build目录下 输入命令pintos-gdb -tui 看到如下界面:

按enter键继续,此时为进入gdb调试控制台 输入命令target remote localhost:1234(默认端口,应该与第一个终端里显示的一致)接着输入命令file kernel.o(载入要调试的内核程序),看到如下界面: 输入y继续,这样开始调试啦 (首先自己在网上百度一下gdb常用的调试命令) break main(在main函数入口插入断点) 接着c(continue的意思跟VS、VC++中的调试命令对应) 看到如下界面

注意划红线部分 输入n(执行下一步,不会进入函数体内部,step单步运行命令会进入函数内部)然后大家可以在第一个终端里查看运行结果。比如我在第79行添加了一行 Ctrl+Alt+F1打开第一个终端可以看到执行结果 接下来自己慢慢探索吧,感受一下gdb调试器的强大之处。 下面介绍一下我对pintos的理解 二、Pintos内部函数调用 内核加载完成后,进入main函数(pintos主程序) 开始boot bss_init (); 初始化BSS,(BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS 段会自动清0。) argv = read_command_line ();//读取命令行 argv = parse_options (argv);//分析命令行

展讯工具使用

展讯工具使用 1.校准工具CFT A B C D E A : 选择测试机种 B : 将所有的勾打上,记录测试数据 C : Log处可随意选择本机目录,用于存储测试的纪录。FDL处必须选择展讯正式发布给工厂的软件包中的Fdl_amd.bin文件,对于6600M平台来说,FDL不需要,NV处必须选择展讯正式发布给工厂软件包中NV_Parameters目录下的NVitem_release.prj文件; D : 校准用的项目 F : 相关的FT测试数据,在校准时将所有勾去除 2.DOWNLOAD 程序

根据不同的项目导入FDL , BOOTLOADER ,PS ,MMIRES,NV BOOTLOADER , PS ,MMI, 在DOWNLOAD 时候可以不选,FDL必须选上 地址选项PRODUCT为NAND,相关的地址与底层有关

NAND FLASH选项为SMALL PAGE REPARTITION SETTING 默认为2 。 校准数据保留,将backup calibration 打上将保留全部nv数据3.Mobile test 使用说明

Calibration 说明: 1) 做Calibration 之前,首先要确保手机进入“Calibration mode ”,如果不是,要点击 按钮①进入校准模式(目前不支持)。 2) 接着点击按钮④,连通DSP 与RF 之间的通路。 3) 下一步选择手机的工作频段,共有五种:EGSM900,DCS1800, EGSM-DCS-DUALBAND ,PCS1900,GSM850(在不同的频段arfcn,txpwr lv 有不同的数值),选择好之后点击按钮⑥即可设置好工作频段。进行了2、3步的操作后就可以进行发射或接收的操作了。 4) 点击按钮③可以开发射,它有两个参数:afc,dac 。在DCXO 下有afc,dac 两个参数, 在TCXO 下有dac 一个参数(DCXO ,TCXO 通过⑧来选择)。执行该步操作可以实现AFC 的操作。 5) 按钮②可设置发射时的factor 值。再点击按钮4就可以实现APC 的操作。 6) 按钮⑦可做接收,在这之前要先设置好RX 的各值:type,gain ind,gain val,rach ab. 在Result ⑨处显示RSSI 的值。执行该步操作可以实现AGC 的操作。 7) 选中Multi Ramp(⑤处) ,即可设置所需PA parameter 和Ramp Up Num 两个参数。 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨

串口调试助手使用方法

串口调试助手使用方法 你可以试试串口监控器,一个功能强大,非常易用的软件。 串口监控器是一个免费的多功能串口通讯监控软件,它能够多种方式显示,接收,分析通讯数据;能够以多种灵活方式发送数据;功能强大,操作简便,在串口通讯监控,设备通讯测试中,能够有效提高工作效率。 主要功能如下: 接收数据: 1. 以十六进制方式显示接收到的数据。 2. 以字符方式显示接收到的数据。 3. 数据帧自动识别,分行显示。 4. 接收数据自动换行设置。 5. 显示或隐藏数据帧的接收时间。 6. 自动清除,自动保存接收到的数据。 7. 接收数据个数计数。 发送数据: 1. 十六进制方式发送数据。 2. 字符串方式发送数据。 3. 发送“发报窗口”当前光标行的数据帧。 4. 循环发送“发报窗口”当前光标行的数据帧。 5. 循环发送“发报窗口”固定行的数据帧。 6. 循环依次发送“发报窗口”的多行数据帧。(设置起始行,行数) 7. 触发发送,接收到“发报窗口”某一行数据,触发发送“发报窗口”另一行数据。 8. 发送数据个数计数。 实用增强功能: 1. 强大易用的进制转换功能。 2. 智能识别当前光标处数据帧的行号,“字符”或“十六进制数”的个数。 3. 智能计算当前选择的“字符”或“十六进制数”的个数。 4. 强大的数据查找功能。 5. 定时保存,定时清除数据。 6. 根据自己的喜好,灵活变换操作界面。

应用场合: 1. 截取和分析设备之间通讯数据流。 2. 串行外围设备硬件开发。 3. 串行设备驱动程序开发。 4. 调试和测试设备和设备之间的串行通讯过程。 5. 记录和分析RS232/422/485通信过程。 6. 模拟某设备通讯过程,对另外设备进行通讯测试。

展讯平台软件调试介绍图文..doc

展讯平台软件调试介绍Spreadtrum 7/21/2009 培训目的 ?能够使用展讯提供的调试工具对开发中的问题进行调试 ?能够分析几种常见ASSERT 主要内容

展讯调试工具简介调试方法 展讯调试工具简介主要的调试工具有: ?Dloader ?NVEditor ?Channel Server ?Logel ?Phone Tester ?DSP Log Dloader(1 功能:下载程序

设置界面: 双击可以选择下载文件路径 选择端口 选择项目 选择下载速率 制作打包文件 选择是否下载 Nand Flash下载配置: 大小页选择分区策略选择分区策略?始终分区 ?出现不兼容分区

时停止下载 ?出现不兼容分区,使用Flash中原有分区进行下载?出现不兼容分区,使用FDL中的分区方式进行分区注:此配置项只对NAND FLASH有效 备份信息配置: 将NV保存到本地 选择需要保留的信息 正在下载: 下载成功: 下载失败: Dloader(4

打包文件特别说明: 展讯升级工具中使用打包文件来进行升级操作,打包文件中不仅包含了所有的下载文件,还包含了下载项目的地址信息,这样可以降低产线升级工具配置出错的可能性,同时简化了操作。 打包文件的制作方法:DloadeR 在配置好所有的配置项后,点击左图中的按钮,然后按照提示即可完成打包文件的制作。 点击这个按钮 进行打包操作 展讯调试工具简介 ?Downloader ?NVEditor ?Channel Server ?Logel ?Phone Tester

?DSP Log 功能: ?对fixed NV参数进行读取,编辑,保存,下载?擦除NV ?从手机中读出NV Item

常用通讯测试工具使用

常用通讯测试工具 鉴于很多MCGS用户和技术人员对通讯测试工具并不很熟悉,本文档将针对实际的测试情况,对串口、以太网通讯调试过程中所涉及到的常用的测试软件进行相关的讲解。 1. 串口测试工具: 串口调试工具:用来模拟上下位机收发数据的串口工具,占用串口资源。如:串口调试助手,串口精灵,Comm等。 串口监听工具:用来监听上下位机串口相关操作,并截获收发数据的串口工具。不占用串口资源。如:PortMon,ComSky等。 串口模拟工具:用来模拟物理串口的操作,其模拟生成的串口为成对出现,并可被大多数串口调试和监听软件正常识别,是串口测试的绝好工具。如:Visual Serial Port等。 下面将分别介绍串口调试助手、Comm、PortMon和Visual Serial Port的使用。

1.1. 串口调试助手: 为最常用的串口收发测试工具,其各区域说明及操作过程如下: 串口状态 打开/关闭串口 十六进制/ASCII 切换 串口数据 接收区 串口参数 设置区 串口数据 发送区 串口收发计数区 发送数据功能区 保存数据功能区 操作流程如下: ? 设置串口参数(之前先关闭串口)。 ? 设置接收字符类型(十六进制/ASCII 码) ? 设置保存数据的目录路径。 ? 打开串口。 ? 输入发送数据(类型应与接收相同)。 ? 手动或自动发送数据。 ? 点击“保存显示数据”保存接收数据区数据到文件RecXX.txt。 ? 关闭串口。 注:如果没有相应串口或串口被占用时,软件会弹出“没有发现此串口”的提示。

1.2. PortMon 串口监听工具: 用来监听上下位机串口相关操作,并截获收发数据的串口工具。不占用串口资源, 但在进行监听前,要保证相应串口不被占用,否则无法正常监听数据。 连接状态 菜单栏 工具栏 截获数据显示区 PortMon 设置及使用: 1). 确保要监听的串口未被占用。 如果串口被占用,请关闭相应串口的应用程序。比如:要监视MCGS 软件与串口1设备通讯,应该先关闭MCGS 软件。 说明:PortMon 虽不占用串口资源,但在使用前必须确保要监听的串口未被占用,否则无法进行监视。 2). 运行PortMon,并进行相应设置。 ? 连接设置: 在菜单栏选择“计算机(M)”->“连接本地(L)”。如果连接成功,则连接状态显示为“PortMon 于\\计算机名(本地)”。如下图:

串口调试助手VC++6.0程序

串口调试助手源程序 及编程详细过程 作者:龚建伟 2001.6.20 可以任意转载,但必须注明作者和说明来自https://www.360docs.net/doc/759688695.html,,不得作为商用 目次: 1.建立项目 2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件 5.添加串口事件消息处理函数OnComm() 6.打开和设置串口参数 7.发送数据 在众多网友的支持下,串口调试助手从2001年5月21日发布至今,短短一个月,在全国各地累计下载量近5000人次,在近200多个电子邮件中,20多人提供了使用测试意见,更有50多位朋友提出要串口调试助手的源代码,为了答谢谢朋友们的支持,公开推出我最初用VC控件MSComm编写串口通信程序的源代码,并写出详细的编程过程,姑且叫串口调试助手源程序V1.0或VC串口通讯源程序吧,我相信,如果你用VC编程,那么有了这个代码,就可以轻而易举地完成串口编程任务了。(也许本文过于详细,高手就不用看) 开始吧: 1.建立项目:打开VC++6.0,建立一个基于对话框的MFC应用程序SCommTest(与我源代码一致,等会你会方便一点); 2.在项目中插入MSComm控件选择Project菜单下Add To Project子菜单中的 Components and Controls…选项,在弹出的对话框中双击Registered ActiveX Controls项(稍等一会,这个过程较慢),则所有注册过的ActiveX控件出现在列表框中。选择Microsoft Communications Control, version 6.0,,单击Insert按钮将它插入到我们的Project中来,接受缺省的选项。(如果你在控件列表中看不到Microsoft Communications Control, version 6.0,

dsp调试can一点心得

dsp调试can一点心得 调试的过程也就是学习的过程,无前人领路,只有自己摸索, 不免要耗费更多的时间和精力,从看书到调试到完全调通,用了差不多一星期的时间,当然不是全满,嘿嘿,偶尔还是要玩玩,在这里总结一下,脑子不好用,日后必定就忘记了这宝贵的经历。 1:如何配置can的问题 首先要按照书上所讲的做基本配置,(ECanaShadow == ECanaRegs) GpioMuxRegs.GPFMUX.bit.CANTXA_GPIOF6 = 1; //定义为can功能 GpioMuxRegs.GPFMUX.bit.CANRXA_GPIOF7 = 1; //定义为can功能ECanaShadow.CANTIOC.bit.TXFUNC = 1; //定义为can发送功能 ECanaShadow.CANRIOC.bit.RXFUNC = 1; //定义为can接收功能 然后再不使能邮箱的情况下作如下设置:ECanaRegs.CANME.all = 0; //不使能邮箱ECanaRegs.CANMD.all = 0xFFFF0000; /*0~15 is TX,16~31 is RX*/ 设置邮箱ID号: /*发送邮箱的ID号*/ ECanaMboxes.MBOX0.MID.all = 0xa0000000; //mid.aam=1 自动应答模式ECanaMboxes.MBOX1.MID.all = 0x9555AAA1; ECanaMboxes.MBOX2.MID.all = 0x9555AAA2; ECanaMboxes.MBOX3.MID.all = 0x9555AAA3; ECanaMboxes.MBOX4.MID.all = 0x9555AAA4; ECanaMboxes.MBOX5.MID.all = 0x9555AAA5; ECanaMboxes.MBOX6.MID.all = 0x9555AAA6; ECanaMboxes.MBOX7.MID.all = 0x9555AAA7; ECanaMboxes.MBOX8.MID.all = 0x9555AAA8; ECanaMboxes.MBOX9.MID.all = 0x9555AAA9; ECanaMboxes.MBOX10.MID.all = 0x9555AAAA; ECanaMboxes.MBOX11.MID.all = 0x9555AAAB; ECanaMboxes.MBOX12.MID.all = 0x9555AAAC; ECanaMboxes.MBOX13.MID.all = 0x9555AAAD; ECanaMboxes.MBOX14.MID.all = 0x9555AAAE; ECanaMboxes.MBOX15.MID.all = 0x9555AAAF; /*接收邮箱的ID号*/ ECanaMboxes.MBOX16.MID.all = 0x80000000; ECanaMboxes.MBOX17.MID.all = 0x9555AAA1; ECanaMboxes.MBOX18.MID.all = 0x9555AAA1; ECanaMboxes.MBOX19.MID.all = 0x9555AAA1; ECanaMboxes.MBOX20.MID.all = 0x9555AAA1; ECanaMboxes.MBOX21.MID.all = 0x9555AAA1; ECanaMboxes.MBOX22.MID.all = 0x9555AAA1; ECanaMboxes.MBOX23.MID.all = 0x9555AAA1; ECanaMboxes.MBOX24.MID.all = 0x9555AAA1; ECanaMboxes.MBOX25.MID.all = 0x9555AAA1;

串口调试助手使用规范V15.01(试用)

串口调试助手使用规范(试用) ——截取指令方法
版本:V15.01 日期:2015.0128 类别:APP 使用规范
1
串口调试助手使用规范(试用) 截取指令方法
广州市英沙电子系统有限公司 2015-01-28 发布

串口调试助手使用规范(试用) ——截取指令方法
版本:V15.01 日期:2015.0128 类别:APP 使用规范
2
目 录
1 引言 ................................................................................................................................................................................... 3 2 使用前准备........................................................................................................................................................................ 3 3 串口调试助手及其安装 ................................................................................................................................................... 3 4 串口线与设备的物理连接 ............................................................................................................................................... 4 5 串口调试助手截取指令步骤 ............................................................................................................................................ 4 6 分析截取的指令............................................................................................................................................................... 6?

很好的串口调试工具--ComTools

一个很好的串口调试工具,可以根据自己的需求设置参数。界面也很美观。ComTools是功能齐全,操作方便的串口调试工具,是单片机通讯开发的最佳助 手! 本软件完全免费,无任何功能时间限制。 主要功能如下: 1.可设置各种通讯速率、奇偶校验、数据位和停止位; 2.可分别设置ASCII码(包括中文)或十六进制数据格式的发送模式或接收模式; 3.能将接收数据保存成文本文件,便于观察分析; 4.自动保存设置参数,无需每次重新设置; 5.可以设置16条定时自动发送的数据,以及每条数据发送后的延时时间; 6.可以同时监控2个串口,利用特制电缆可监听2个串口设备之间的通讯过程; 7.发送数据时,可自动计算并添加和校验发送; 8.DTR自动控制是为了方便RS485通讯测试而添加的功能; 9.方便的查找功能,使你可以轻松搜索接收文本框中的字符; 10.使用快捷键可快速调用最近五次发送的不同数据。 使用帮助 1.主窗口上12个指示灯分别代表两个串口以及DTR,RTS,CTS,DSR,CD各信号当前状态。 绿色代表“有效”状态,红色代表“无效”状态。 点击左边的一个'端口状态'指示灯,可以打开和关闭相应串口。 点击'DTR'或'RTS'状态指示灯,可以切换'DTR'线或'RTS'线的当前有效或无效状态。 2.选定'数据记录'功能后,通讯过程中两个串口接收的数据都将按HEX格式写入指定的文本文件中。 您可以修改默认的文件名称。

3.在发送文本框输入你要发送的数据,点击按钮"发送[PortA]"数据将从端口PortA发送, 点击按钮"发送[PortB]"数据将从端口PortB发送。 本软件启动时,串口状态默认为关闭,点击发送按钮将自动打开相应串口。 发送数据前,可以选择发送模式为"ASC"或"HEX"。 另外,也可以单独设置接收模式为"ASC"或"HEX"。 4.打开"串口设置"对话框,可以分别设置PortA 和 PortB 的串口参数。 格式如下: "BBBB,P,D,S" BBBB 为波特率,P 为奇偶校验,D 为数据位数,S 为停止位数。 本软件的缺省值是:"9600,N,8,1" 合法的波特 率:110,300,600,1200,2400,9600,14400,19200,28800,38400,56000,128000,25 6000 合法的奇偶校验值: "E" 偶数 (Even) ; "M" 标记 (Mark) ; "N" 无校验(None) ; "O" 奇数 (Odd) ; "S" 空格 (Space) 合法的数据位值: 4,5,6,7,8 合法的停止位值: 1, 1.5, 2 PortA 和 PortB 的串口设置分别显示在主窗口状态栏左右两侧。 5.如果将'DTR控制'设为"YES",发送数据时DTR线将保持'有效'状态, 数据发送完毕DTR线将立即设为'无效"状态。 12个状态指示灯,每隔0.5秒刷新一次状态。 6.插入空格功能是为方便观察接收数据,打开'插入空格'功能后, 每接收一个字节数据将在接收文本框插入一个空格。

win7下串口调试工具超级终端和secureCRT

1.win7下使用超级终端 我们知道在XP系统中,超级终端是系统自带的工具,但是在win7中,这一工具系统不再附带。但是这款工具在win7中确实是可以使用 的。使用方法如下: 1.在XP系统中C:ProgramFiles->Windows NT复制文件 hypertrm.exe到win7系统中的C:Windows->system中 2.在XP系统中C:Windows->System32赋值文件hypertrm.dll到 win7系统中的C:Windows->system中 3.在XP系统中C:Windows->System32赋值文件hticons.dll到win7 系统中的C:Windows->system中 其实完成第一步和第二步就可以使用了,第三步的文件只是图标文件,但是有了使用起来更好。可能很多人手边上没有XP系统,我将在 附件中上传这几个文件,供大家下载使用。 赋值完成之后的C:Windows->system文件夹截图如下:

完成上述步骤后,打开开始菜单,找到附件选项,我们就能看见超级终端了: 点击上图标记地方的文件,我们就可以在win7下使用超级终端了。 2.使用secureCRT调试串口的步骤: 1.打开secureCRT之后

点击上图标记处,开始进行连接。 2.点击下图中标记处,新建一个连接

3.在下图的协议选择框里,选择serial,串行协议,然后下一步

4.在下图对串口进行串口号,波特率等的设置,然后下一步 5.给所建的串口连接起一个名字,然后下一步 点击完成,至此我们就新建了一个串口连接。 我们可以看见我们刚才新建的串口的连接:

展讯平台Trace工具使用

展讯平台Trace 工具使用 对于专业的测试人员,测试应该始终接上log 线进行测试,这样就会尽可能保留出错时候的信息,这些信息不一定对于每一类的bug 都有用,但对于一些难重现的问题有可能这样的习惯就记录下了一些重要的Debug 信息,给软件人员解决问题极大的帮助。 测试人员遇到ASSERT 的时候,一定要尽可能详细的记录下操作步骤,测试此问题的重现概率,同时记录下全部的ASSERT 信息,关于ASSERT 信息详见本文档3.2.1。 需要注意的是,测试人员一定要用对应版本的ChannelServer 和log 工具进行测试,否则会导致底层的一些消息的解析不正确,给解决一些和底层有关的bug 带来困难。 1、ChannelServer 的设置使用 ? 运行ChannelServer.exe ? 点击右下角托盘中的ChannelServer 小图标 ? 在弹出的对话框中的进行配置(成功后,小图标变绿色) 图一 2、Logel –使用说明 ? 选择Server — IP Setting 配置ChannelServer 的IP 地址和端口 ――和ChannelServer 中的设置保持一致(一般不需要修改) ? 连结到ChannelServer ,并开始记录 ――需要先运行ChannelServer 以下为刚开始启动Logel 工具的界面:

图二 以下为正在抓Trace 信息的界面: 图三 测试版本一定要用debug 版本,release 版本遇到assert 会自动重启,debug 版本会断在程序assert 的地方,这样可以获得assert 时的现场信息,以便于debug 。当然,重要版本根据情况也应该同时用release 版本做一些各个功能模块的自动重启的测试,电流测试等,以保证release 版本也没有问题。 测试过程中遇到assert ,不要拔下电池,打开ChanelServer.exe 和Logel.exe , 连上手机,选择logel 里面菜单 Assert / Open Assert Frame , 打开一个调试窗口,在此窗口下输入0,会出现了下图所示的信息(如果是测试的时候连着log ,此窗口会自动弹出):

大傻串口调试软件2.0 使用手册

ComMonitor大傻串口调试软件 使用说明书 (2.0) 编写:大傻 Email: david_parkins@https://www.360docs.net/doc/759688695.html, 大傻工作室 二零零六年三月

目录 一、介绍 (2) 二、软件界面 (3) 2.1 软件主界面 (3) 2.2 最大化界面 (4) 2.3窗口置顶 (4) 2.4关于程序 (5) 三、显示区控制 (7) 3.1显示发送 (7) 3.2帧换行 (7) 3.3显示保存发送和接收时间 (8) 3.4关键字过滤 (9) 3.5 保存显示区内容 (9) 四、发送区数据发送控制 (11) 4.1 发送区数据格式说明 (11) 4.2手动控制 (11) 4.3自动发送 (12) 4.4 校验码计算 (12) 五、轮发功能 (14) 5.1 发送区轮发 (14) 5.2文件轮发 (14) 5.3定时轮发 (16) 5.4 帧回应轮发 (17) 六、常见问题索引 (19) 6.1 串口不能打开 (19) 6.2 接收到的数据不对 (19) 6.3 接收区没有显示 (19) 6.4 自动发送为什么没有发送数据 (19) 6.5 谁是大傻 (19) 6.6 如何联系大傻 (19) 6.7 如何获得最新的ComMonitor软件 (19) 6.8 关于ComMonitor软件源代码 (20)

一、介绍 ComMonitor是大傻两年前写的一个软件,当初由于工作的原因,常常需要调试串口通讯,又没有找到合适的串口调试软件,就在两年前的十一放假期间自己写了一个。之后一直都是自己和同事使用。后来很多同事反映很好用,建议我放到网上共享。再后来又根据同事和网友的建议,进行了一些修改,就形成了今天的版本。 ComMonitor追求的是方便易用,能调试大多数的串口通讯应用。所以,在界面上都没有做什么处理。当初写这个软件的时候,参考了串口调试助手,但又根据自己工作中的需求,添加了更多的功能。具体来讲,它除了具备一般的串口调试工具的功能以外,还具有以下特别之处: 1、支持多达20个串口,对于使用多串口卡或虚拟串口的用户是很必要的; 2、加入了接收显示与保存的关键字过滤功能; 3、具备接收显示与保存时帧换行功能,40ms未受到数据,认为一帧结束; 4、具有记录发送和接收时间的功能; 5、支持3个独立的发送区; 6、3个发送区可以以定时或响应等两种方式进行轮发; 7、具有计算CRC16、CRC8等校验码的功能; 8、自动保存上一次使用的端口配置; 9、自动保存上一次发送区的数据; 10、具有文件按行发送轮发功能,发送方式也可以采用定时和响应两种方式; 11、轮发响应方式中,加入了超时判断,和自定义多次重发功能; 12、所有参数和数据支持运行时改变,不需要重新启动; ComMonitor设计伊始就是针对调试串口设备通讯的。所以,上面的很多特点为调试各种带串口通讯的智能设备提供了极大的方便。ComMonitor也可以用来模拟带串口通讯的智能设备,与您的上位机监控系统进行通讯。ComMonitor 虽然还只是一个小的工具软件,但他是大傻工作经验、一些想法和辛勤劳动的结晶。希望能给大家的工作带来方便。如果您对ComMonitor有什么建议,也请不吝赐教。 在ComMonitor以后的版本中,大傻还打算做一些升级,包括提供一些更实用的功能,界面美化等等。为了保证大家能及时拿到最新版的ComMonitor软件,请大家发email给大傻告诉大傻你的email。

调试过程说明文档

使用我司展讯平台的屏调试流程: 如果首次调试没有安装必须的程序,先装转换、下载和驱动工具。 1、拷贝HWInfo(20130412)、展讯平台研发下载工具(2013-09-03)、dotnetfx.exe,先打开 AndroidHWInfo.exe看是否能正常打开,不能的话点击dotnetfx.exe此执行程序进行安装,安装好之后打开。 2、装下载驱动进入展讯平台研发下载工具(2013-09-03)—》驱动—》智能机USB驱动 V1.0.0.21—》32位系统驱动(此处是选择和你电脑系统匹配的位数)—》dpinst.exe安装。安装完成后即可以下载,如果下载时仍然提示安装,请选择手动或自动安装。 3、我们的驱动装换工具如下图所示: (1)第一个选择LCD驱动程序,即FAE调试的文件,文件以供应商的名字缩写+LCD型号等组成。LCD目录点后面的找到.config所在的文件,然后再LCD驱动的下拉中点击此.config.6820和6825平台的TP选择不一样,我以易欣达Y82947为例。6825平台:

当文件都选取好了之后,点击此工具任一界面右下方的按钮,这样就生成了一个以.img做后缀的文件即我们可以下载的驱动了,在文件生成后的保存的位置可以有我们自己选择,默认是放在和LCD驱动文件的同一级目录下。生成的文件如下: 6820平台: 6820和6825在驱动生成方面的不同点就在于一个TP文件的改动,其他步骤同样。6825是要选择这两个地方,而6820平台是把这两个文件合成了一个文件了,即我们在选择时只用选择,而把置空。

4、下载 打开下载工具中的ResearchDownload.exe出现如下界面,点击第二个按钮,进行相应的下载必选文件的放置。

超级终端控制台命令行Serial串口调试工具-软件说明文档

超级终端控制台命令行Serial串口调试工具 软件文档 积分下载可免费提供技术支持,需要本程序源代码的可联系作者。 目录 1 设计目的 (2) 1.1 基本功能 (2) 1.2 开发环境 (2) 2 使用说明 (2) 2.1 页面介绍 (2) 2.2 调试窗口的使用 (3) 3 全局及运行流程 (3) 3.1 主函数流程 (3) 3.2 数据发送流程 (4) 3.3 数据接收流程 (4) 3.5 全局数据 (5) 3.5.1配置数据 (5) 4 各功能页面 (5) 4.1 串口参数配置页面ParamDialog (5) 4.1.1界面设计 (5) 4.1.2类设计 (6) 4.1.3保存配置文件 (7) 4.1.4加载配置 (7) 4.1.5显示端口信息 (7) 4.1.6指定名称处理 (7) 4.1.7指定波特率的处理 (7) 4.1.8填充候选参数 (8) 4.1.9显示UI页面 (8) 4.1.10获取页面的最新配置数据 (8) 4.1.11确认保存 (8) 4.2 主窗口页面MainWindow (8) 4.2.1界面设计 (8) 4.2.2类设计 (9) 4.2.3关闭窗口 (11) 4.2.4关闭串口 (11) 4.2.5连接串口 (11) 4.2.6写串口 (11) 4.2.7读串口 (11) 4.2.8处理出错信息 (11) 4.2.9快捷发送页面 (12) 4.2.10加载用户喜好配置 (12)

4.2.11保存用户喜好 (12) 4.3 控制台控件Console (12) 4.3.1控件设计 (12) 4.3.2类设计 (12) 4.3.3设置控制台的编辑状态 (13) 4.3.4自定义粘贴行为 (13) 4.3.5将数据显示到控制台 (13) 4.3.6按键响应处理 (14) 4.3.7鼠标点击响应处理 (14) 4.3.8查找关键字 (14) 4.4 选项配置页面ConfigDialog (14) 4.4.1界面设计 (14) 4.4.2类设计 (14) 4.4.3加载配置 (15) 4.4.4保存配置文件 (15) 4.1.5显示UI页面 (15) 4.1.6获取页面的最新配置数据 (16) 4.1.7加载默认配置按钮执行 (16) 4.1.8确认保存 (16) 1 设计目的 1.1 基本功能 仿照Windows XP以前系统带的串口超级终端的功能,通过实际使用经验,自行编写超级终端程序。可完成人机交互,配置信息保存,底部自带编辑窗口,可复制文件等功能,非常方便在需要用Console完成交互的情况下使用。其中串口名称、波特率可支持自定义,方便跨平台使用。MARK32000- 1.2 开发环境 采用Windows 系统下的Qt 5.10.1版本,串口库有使用Qt自带的串口类。 2 使用说明 2.1 页面介绍 运行程序后,会进入参数配置页面。选择好需要的串口号,波特率后,点击确定并保存。参数配置页面如下:

Com_串口调试工具的使用

串口调试工具的使用 串口调试工具,是电脑与下位机通讯的调试工具。使用方法主要分:配置串口、打开串口、编辑指令、发送指令四步。 打开串口调试工具如图: 第一章配置串口 单击“参数设置”按扭,弹出串口参数设置对话框: 在这里有三种方式供选择:串口类、网络类、MODEM类。

我们一般用串口类:单击“DCB设置”进入串口设置对话框 在该对话框中,一般只对:端口、波特率、数据位、停止位、奇偶校验五个属性进行设置。端口:为电脑连接的串口,如连在COM1,则填写COM1。 波特率:一般根据设备的通讯协议要求来设置,如通讯协议规定波特率为115200,则波特率应设为115200;如规定为9600,则设为9600。 数据位、停止位、奇偶校验:参数的设置也应按照通讯协议的规定来进行设置。通常为8位数据位,1位停止位,无校验。 设置好单击“确定” 第二章打开串口 对串口进行设置完后,单击主画面中的“连接设备”。

连接设备 这时会在下方的信息框看到打开串口成功。 打开串口信息 第三章编辑指令 串口打开成功后,就可以在命令编辑框中编写指令了。如图:

命令编辑框 [01][00][01][0D]是命令。 [01]中用中括号表示:一个16进制的字符[01H] [0D]表示回车。 第四章发送指令 编写好指令后,单击“手动发送”按钮。 这时在下面的命令信息框中就能看到所发出的命令和收到的命令。如图:

手动发送 发送的命令 如果没有命令返回,可能是指令发送不正确或设备参数设置不正确。 如果有指令返回,他会在发送的指令的下方显示出来, 根据串口的收发数据的原理,我们把9针头的收发数据针(2,3两针)短接。则发出的数据,同时也会被收上来。如图: 在发送的指令下方就有收到跟发送命令一样的数据返回。根据此方法,也可以用来测试串口的好坏。 发送的命令 收到的命令

相关文档
最新文档