搜档网
当前位置:搜档网 › 串口调试助手通信调试原理图PCB及使用手册

串口调试助手通信调试原理图PCB及使用手册

串口调试助手通信调试原理图PCB及使用手册
串口调试助手通信调试原理图PCB及使用手册

串口调试助手通信调试原理图PCB及使用手册

【简要说明】

一、尺寸:长170mmX宽72mmX高18mm

二、主要芯片:单片机,MAX485,MAX232

三、工作电压:6V至40V,功耗小于1W

四、特点:1、具有稳压电路,输入电压广,具有电源指示灯。

2、具有485通信和232通信及TTL通信。

3、具有数码管数据显示,蜂鸣器提示音

4、波特率可调分别是 2400 4800 9600 19200

5、采用大按键,机械寿命长。

6、单片机编程,提供源代码

7、可发送20组数据

8、具有系统复位按键

9、端子采用螺旋压接端子

10、工作温度-40度至 +70度

11、工作湿度 40% ~ 80%RH

12、板子静态功耗小于1W

13、具有续流保护

14、具有电磁抗干扰能力

15、板子稳定工作可靠

16、板子可安装在DIN导轨上面

使用说明:

【标注说明】

【功能描述】

【原理图】

【PCB图】

【元件清单】

【应用举例】

【应用举例2】

例如:将下面一组数据通过串口发送给电脑。波特率是9600,电脑用串口助手显示出来。数据是:A0 B2 CC FF EF D8 90 88

第一步:板子供电,串口连接电脑,查看串口号。

如下图:我的电脑--属性--硬件---设备管理器---端口设备。

下图:

第三步:从发送板,按下下面一组数据,数据是:A0 B2 CC FF EF D8 90 88数据按完之后,按发送键“S2”,如果数据输入错误,

可以按”S1”按键清零,重新输入。如果要发送多遍,重复按“S2”

按键。单遍发送如下图。

【源代码程序】

/*

一次最多发送20组数据,大于这个数据就不再发送

*/

#include

#define uchar unsigned char

#define uint unsigned int

/**************************************************************/

unsigned char T0RH = 0; //T0重载值的高字节

unsigned char T0RL = 0; //T0重载值的低字节

extern void UartDriver(); //串口驱动函数,监测数据帧的接收,调度功能函数,需在主循环中调用

extern void ConfigUART(unsigned int baud); //串口配置函数,baud-通信波特率

extern void ConfigUART1(unsigned int baud1); //串口配置函数,baud-通信波特率

extern void UartRxMonitor(unsigned char ms); //串口接收监控,由空闲时间判定帧结束,需在定时中断中调用,ms-定时间隔

extern void SendString(char *s) ;

extern void UartWrite(unsigned char *buf, unsigned char len); //串口数据写入,即串口发送函数,buf-待发送数据的指针,len-指定的发送长度

extern void fengming();

uchar zh[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

uchar jieshou[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; uchar jj = 0;

/*****************************************************************/

sbit out0 = P2^0;

sbit out1 = P2^1;

sbit out2 = P2^2;

sbit out3 = P2^3;

sbit in0 = P2^4;

sbit in1 = P2^5;

sbit in2 = P2^6;

sbit in3 = P2^7;

sbit smgk = P3^6;

sbit boma1 = P1^1;

sbit boma2 = P1^0;

bit d1 = 1;

bit d2 = 1;

sbit in4 = P1^6;

sbit in5 = P1^5;

uchar code xianshi [] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf};

uchar dangqianzhuangtai[4][4] = {{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};

void t0 () interrupt 1

{

uchar i;

static uchar lie = 0;

static uchar sao[2] = {1,1};

static uchar saomiaobaocun [4][4] = {{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff}};

TH0 = 0xfc;

TL0 = 0x67;

UartRxMonitor(1); //串口接收监控

sao[0] = (sao[0]<<1) |in4;

sao[1] = (sao[1]<<1) |in5;

saomiaobaocun [lie][0] = (saomiaobaocun [lie][0]<<1) | in0; saomiaobaocun [lie][1] = (saomiaobaocun [lie][1]<<1) | in1; saomiaobaocun [lie][2] = (saomiaobaocun [lie][2]<<1) | in2; saomiaobaocun [lie][3] = (saomiaobaocun [lie][3]<<1) | in3;

if(sao[0] == 0x00)

{

d1 = 0;

}

else if(sao[0] == 0xff)

{

d1 = 1;

}

if(sao[1] == 0x00)

{

d2 = 0;

}

else if(sao[1] == 0xff)

{

d2 = 1;

}

for (i=0;i<4;i++)

{

if ((saomiaobaocun [lie][i] & 0x0f) == 0x00)

{

dangqianzhuangtai[lie][i] = 0;

}

else if ((saomiaobaocun [lie][i] & 0x0f) == 0x0f)

{

dangqianzhuangtai[lie][i] = 1;

}

}

lie++;

lie = lie & 0x03;

switch (lie)

{

case 0 : out1 = 1; out2 = 1; out3 = 1; out0 = 0; break;

case 1 : out0 = 1; out2 = 1; out3 = 1; out1 = 0; break;

case 2 : out0 = 1; out1 = 1; out3 = 1; out2 = 0; break;

case 3 : out0 = 1; out1 = 1; out2 = 1; out3 = 0; break;

}

}

void main ()

{

uchar i,j;

bit q1 = 1;

bit q2 = 1;

uchar qianyicizhuangtai[4][4] = {{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};

smgk = 0;

TMOD = 0x01;

TH0 = 0xfc;

TL0 = 0x67;

TR0 = 1;

EA = 1;

ET0 = 1;

P0 = xianshi[16];

// ConfigUART(9600); //配置波特率为9600

while (1)

{

UartDriver(); //调用串口驱动

if((boma1 == 0)&&(boma2 != 0))

{

ConfigUART(2400); //配置波特率为1200

}

if((boma2 == 0)&&(boma1 != 0))

{

ConfigUART(4800); //配置波特率为4800

}

if((boma1 == 0)&&(boma2 == 0))

{

ConfigUART(9600); //配置波特率为9600

}

if((boma1 != 0)&&(boma2 != 0))

{

ConfigUART1(19200); //配置波特率为19200 }

if(d1 != q1)

{

q1 = d1;

if(d1 == 0)

{

if((jj != 0)&&(jj <= 2))

{

zh[0] = jieshou[0] | jieshou[1];

UartWrite(zh, 1);

fengming();

}

if((jj > 2)&&(jj <= 4))

{

zh[0] = jieshou[0] | jieshou[1];

zh[1] = jieshou[2] | jieshou[3];

UartWrite(zh, 2);

fengming();

}

if((jj > 4)&&(jj <= 6))

{

zh[0] = jieshou[0] | jieshou[1];

zh[1] = jieshou[2] | jieshou[3];

zh[2] = jieshou[4] | jieshou[5];

UartWrite(zh, 3);

fengming();

}

if((jj > 6)&&(jj <= 8))

{

zh[0] = jieshou[0] | jieshou[1];

zh[1] = jieshou[2] | jieshou[3];

zh[2] = jieshou[4] | jieshou[5];

zh[3] = jieshou[6] | jieshou[7];

UartWrite(zh, 4);

fengming();

}

if((jj > 8)&&(jj <= 10))

{

zh[0] = jieshou[0] | jieshou[1];

zh[1] = jieshou[2] | jieshou[3];

zh[2] = jieshou[4] | jieshou[5];

zh[3] = jieshou[6] | jieshou[7];

zh[4] = jieshou[8] | jieshou[9];

UartWrite(zh, 5);

fengming();

}

if((jj > 10)&&(jj <= 12))

{

zh[0] = jieshou[0] | jieshou[1];

zh[1] = jieshou[2] | jieshou[3];

zh[2] = jieshou[4] | jieshou[5];

zh[3] = jieshou[6] | jieshou[7];

zh[4] = jieshou[8] | jieshou[9];

zh[5] = jieshou[10] | jieshou[11];

UartWrite(zh, 6);

fengming();

}

if((jj > 12)&&(jj <= 14))

{

zh[0] = jieshou[0] | jieshou[1];

zh[1] = jieshou[2] | jieshou[3];

zh[2] = jieshou[4] | jieshou[5];

zh[3] = jieshou[6] | jieshou[7];

zh[4] = jieshou[8] | jieshou[9];

zh[5] = jieshou[10] | jieshou[11];

zh[6] = jieshou[12] | jieshou[13];

UartWrite(zh, 7);

fengming();

}

if((jj > 14)&&(jj <= 16))

{

zh[0] = jieshou[0] | jieshou[1];

zh[1] = jieshou[2] | jieshou[3];

zh[2] = jieshou[4] | jieshou[5];

zh[3] = jieshou[6] | jieshou[7];

zh[4] = jieshou[8] | jieshou[9];

zh[5] = jieshou[10] | jieshou[11];

zh[6] = jieshou[12] | jieshou[13];

zh[7] = jieshou[14] | jieshou[15];

UartWrite(zh, 8);

fengming();

}

if((jj > 16)&&(jj <= 18))

{

zh[0] = jieshou[0] | jieshou[1];

zh[1] = jieshou[2] | jieshou[3];

zh[2] = jieshou[4] | jieshou[5];

zh[3] = jieshou[6] | jieshou[7];

zh[4] = jieshou[8] | jieshou[9];

zh[5] = jieshou[10] | jieshou[11];

zh[6] = jieshou[12] | jieshou[13];

zh[7] = jieshou[14] | jieshou[15];

zh[8] = jieshou[16] | jieshou[17];

UartWrite(zh, 9);

fengming();

}

if((jj > 18)&&(jj <= 20))

{

zh[0] = jieshou[0] | jieshou[1];

zh[1] = jieshou[2] | jieshou[3];

zh[2] = jieshou[4] | jieshou[5];

zh[3] = jieshou[6] | jieshou[7];

zh[4] = jieshou[8] | jieshou[9];

zh[5] = jieshou[10] | jieshou[11];

zh[6] = jieshou[12] | jieshou[13];

zh[7] = jieshou[14] | jieshou[15];

zh[8] = jieshou[16] | jieshou[17];

zh[9] = jieshou[18] | jieshou[19];

UartWrite(zh, 10);

fengming();

}

}

}

if(d2 != q2)

{

q2 = d2;

if(d2 == 0)

{

jj = 0;

jieshou[0] = 0x00;

jieshou[1] = 0x00;

jieshou[2] = 0x00;

jieshou[3] = 0x00;

jieshou[4] = 0x00;

jieshou[5] = 0x00;

jieshou[6] = 0x00;

jieshou[7] = 0x00;

jieshou[8] = 0x00;

jieshou[9] = 0x00;

P0 = xianshi[16];

fengming();

}

}

for (i=0;i<4;i++)

{

for (j=0;j<4;j++)

{

if(dangqianzhuangtai[i][j] != qianyicizhuangtai[i][j] )

{

qianyicizhuangtai[i][j] = dangqianzhuangtai[i][j];

if(qianyicizhuangtai[i][j] != 0)

{

jj++;

if((i*4+j) < 9)

{

P0 = xianshi[i*4+j+1];

}

if((i*4+j) == 9)

{

P0 = xianshi[0];

}

if((i*4+j) > 9)

{

P0 = xianshi[i*4+j];

}

fengming();

/******************1组**************************/

if(jj == 1)

{

//jieshou[0] = i*4+j;

//jieshou[0] = jieshou[0] << 4;

if((i*4+j) < 9)

{

jieshou[0] = i*4+j+1;

if((i*4+j) == 9)

{

jieshou[0] = 0;

}

if((i*4+j) > 9)

{

jieshou[0] = i*4+j;

}

jieshou[0] = jieshou[0] << 4;

}

if(jj == 2)

{

//jieshou[1] = i*4+j;

if((i*4+j) < 9)

{

jieshou[1] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[1] = 0;

}

if((i*4+j) > 9)

{

jieshou[1] = i*4+j;

}

}

/******************2组**************************/ if(jj == 3)

{

//jieshou[2] = i*4+j;

if((i*4+j) < 9)

{

jieshou[2] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[2] = 0;

}

if((i*4+j) > 9)

{

jieshou[2] = i*4+j;

jieshou[2] = jieshou[2] << 4;

}

if(jj == 4)

{

//jieshou[3] = i*4+j;

if((i*4+j) < 9)

{

jieshou[3] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[3] = 0;

}

if((i*4+j) > 9)

{

jieshou[3] = i*4+j;

}

}

/******************3组**************************/ if(jj == 5)

{

//jieshou[4] = i*4+j;

if((i*4+j) < 9)

{

jieshou[4] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[4] = 0;

}

if((i*4+j) > 9)

{

jieshou[4] = i*4+j;

}

jieshou[4] = jieshou[4] << 4;

}

if(jj == 6)

{

//jieshou[5] = i*4+j;

if((i*4+j) < 9)

{

jieshou[5] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[5] = 0;

}

if((i*4+j) > 9)

{

jieshou[5] = i*4+j;

}

}

/******************4组**************************/ if(jj == 7)

{

//jieshou[6] = i*4+j;

if((i*4+j) < 9)

{

jieshou[6] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[6] = 0;

}

if((i*4+j) > 9)

{

jieshou[6] = i*4+j;

}

jieshou[6] = jieshou[6] << 4;

}

if(jj == 8)

{

//jieshou[7] = i*4+j;

if((i*4+j) < 9)

{

jieshou[7] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[7] = 0;

}

if((i*4+j) > 9)

{

jieshou[7] = i*4+j;

}

}

/******************5组**************************/

{

//jieshou[8] = i*4+j;

if((i*4+j) < 9)

{

jieshou[8] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[8] = 0;

}

if((i*4+j) > 9)

{

jieshou[8] = i*4+j;

}

jieshou[8] = jieshou[8] << 4;

}

if(jj == 10)

{

//jieshou[9] = i*4+j;

if((i*4+j) < 9)

{

jieshou[9] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[9] = 0;

}

if((i*4+j) > 9)

{

jieshou[9] = i*4+j;

}

}

/******************6组**************************/ if(jj == 11)

{

//jieshou[10] = i*4+j;

if((i*4+j) < 9)

{

jieshou[10] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[10] = 0;

if((i*4+j) > 9)

{

jieshou[10] = i*4+j;

}

jieshou[10] = jieshou[10] << 4;

}

if(jj == 12)

{

//jieshou[11] = i*4+j;

if((i*4+j) < 9)

{

jieshou[11] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[11] = 0;

}

if((i*4+j) > 9)

{

jieshou[11] = i*4+j;

}

}

/******************7组**************************/ if(jj == 13)

{

//jieshou[12] = i*4+j;

if((i*4+j) < 9)

{

jieshou[12] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[12] = 0;

}

if((i*4+j) > 9)

{

jieshou[12] = i*4+j;

}

jieshou[12] = jieshou[12] << 4;

}

if(jj == 14)

{

//jieshou[13] = i*4+j;

if((i*4+j) < 9)

{

jieshou[13] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[13] = 0;

}

if((i*4+j) > 9)

{

jieshou[13] = i*4+j;

}

}

/******************8组**************************/ if(jj == 15)

{

//jieshou[14] = i*4+j;

if((i*4+j) < 9)

{

jieshou[14] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[14] = 0;

}

if((i*4+j) > 9)

{

jieshou[14] = i*4+j;

}

jieshou[14] = jieshou[14] << 4;

}

if(jj == 16)

{

//jieshou[15] = i*4+j;

if((i*4+j) < 9)

{

jieshou[15] = i*4+j+1;

}

if((i*4+j) == 9)

{

jieshou[15] = 0;

}

if((i*4+j) > 9)

{

串口调试助手使用方法

串口调试助手使用方法 你可以试试串口监控器,一个功能强大,非常易用的软件。 串口监控器是一个免费的多功能串口通讯监控软件,它能够多种方式显示,接收,分析通讯数据;能够以多种灵活方式发送数据;功能强大,操作简便,在串口通讯监控,设备通讯测试中,能够有效提高工作效率。 主要功能如下: 接收数据: 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. 模拟某设备通讯过程,对另外设备进行通讯测试。

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

串口调试助手源程序 及编程详细过程 作者:龚建伟 2001.6.20 可以任意转载,但必须注明作者和说明来自https://www.sodocs.net/doc/993148882.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,

串口调试助手毕业论文

1. 双击运行软件 如果出错,请先安装Microsoft .NET Framework 2.0,即微软.NET 2.0虚拟机。 第一次运行时,请先阅读使用协议,并单击“我同意”。如图1.1所示。 图1.1 第一次运行时请阅读使用协议,单击“我同意” 图1.2 JCBus串口调试助手的工作区域 随后,可以看到如图1.2所示的软件工作区域: 1.1标题栏:显示为“JCBus串口调试助手” 1.2菜单栏:包括“文件”、“帮助” 等菜单项目 1.3串口参数设置区:用于设置串口名称、波特率、校验位、数据位和停止位等 1.4调试结果解析区:用于解析调试过程中的数据,使数据在16进制、10进制等之间转换。 1.5调试区:分“消息应答”和“自动接收”两种调试方式。 A.“消息应答”:软件向设备发送一条消息后接收设备回应的信息;

B.“自动接收”:软件只负责接收设备发送的消息并在界面上显示出来。 两种方式可以通过点击“消息应答”或者“自动接收”标签页来切换。 1.6显示区:处于调试区的中间位置1.7调试操作区:记录“消息应答” 方式的详细调试操作 2设置串口参数 软件使用单串口调试设备,所以必须正确地设置串口参数。软件启动后将自动识别所有可用的串口,并打开第一个可用的串口,如图2.1所示。 图2.1 JCBus串口调试助手启动后,默认打开第一个可用的串口如果要使用另一个串口或者更改当前串口的设置,请先单击“关闭”按钮,软件将显示串口已经关闭,如图2.2所示。 图2.2 设置串口参数前,请先关闭已经打开的串口您可以设置的参数有: A.串口:软件自动识别所有可用的串口,您只需要在下拉框中选择即可; B.波特率:除了常规的2400、4800、9600、19200和38400以外,只要您的硬件允许,您还可以输入其他波特率; C.校验位:可以选择“无”、“奇校验位”、“偶校

串口调试助手使用说明概要

串口调试助手使用说明 为简单明了,有些不言自明的功能不作介绍。 1 串口调试助手 1.1 设置串口参数: 串口号:1-16 波特率:600-256000,>115200 时需要硬件支持。 2 接收区/键盘发送区 2.1 接收数据 a 设置串口参数 b 如果要按十六进制形式显示接收数据,将十六进制显示选项选中。 c 点击打开/关闭串口区中的打开串口按钮。 2.2 显示接收数据的长度 因某些限制,显示接收数据的文本不能太长,所以当显示文本长度快达到 62K 时会自动将显示文本删减到 32K,此时文本可保留 32K 的字符或约 10K 的十六进制数据显示。 2.3 在键盘上发送英文字符 a在接收区/键盘发送区的输入框中用鼠标点一下。 b在键盘按下按键立刻发送。 在这里不能发送回车换行,也不能发送汉字,若要发送请在单字符串发送区发送。 3 发送数据 可以发送单字符串,多字符串(字符串序列或直接在键盘上发送英文字符。有两种发送数据格式,一种是普通的字符串,另外一种是十六进制数据即 HEX 格式数据。发送 HEX 格式数据时要在字符串输入区中输入 HEX 格式字符串,并且要将相应区内的十六进制发送选项选中。 例:HEX 格式数据字符串12 34 AB CD FF

3.1 单字符串发送区 3.1.1自动发送,自动发送周期: 此项功能可以每隔一段时间反复地自动发送输入框中的数据,点击自动发送按钮后即启动自动发送功能。 自动发送周期最大为 65535mS。 3.2 多字符串发送区 在多字符串发送区可以发送一个字符串,或者自动地、依次发送所有的字符串。 请把鼠标移到“接收区/键盘发送区”和“多字符串发送区”之间,当鼠标形状发生变化时按下鼠标器的左键不松开,然后移动鼠标,将“多字符串发送区”的宽度调宽一些,让“间隔时间”显露出来。 3.2.1发送一个字符串 a 输入字符串。 b 如果要发送 16 进制数据, 要先在字符串后的 HEX 选项框中打上对勾。 c 点击发送按钮。发送后,按钮上的数字作为当前字符串序号保存起来,此序号在自动循环发送中要用到它。 3.2.2 发送多个字符串(字符串序列 a 输入多个字符串。 b 如果要发送 16 进制数据, 将相应的 HEX 选项打上对勾。 c 输入间隔时间,最大为 65535mS。 d 点击自动循环发送按钮。 延时时间到达后发送当前字符串( 见3.2.1的步骤 c 的下一个字符串,间隔一段时间后再发送下一个。发送完毕自动从头开始继续发送。 4 打开/关闭串口区 下载后打开串口选项:选中这选项后,每次下载后会自动打开调试助手指定的串口,接收应用程序发送的数据。

串口调试助手使用规范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?

串口调试助手c开发

1.建立项目: 打开VC+ + 6.0,建立一个基于对话框的MFC应用程序SCommTest(与我 源代码一致,等会你会方便一点); 2.在项目中插入MSComm控件 选择Project菜单下Add To Project子菜单中的Componentsand Controls,选项,在弹出的对话框中双击Registered ActiveXControls项(稍等一会,这个过程较慢),则所有注册过的ActiveX控件出现在列表框中。选择Microsoft Communications Control,version6.0,,单击Insert 按钮将它插入到我们的Project 中来,接受缺省的选项。(如果你在控件列表中看不到Microsoft Communications Control, version 6.0,那可能是你在安装VC6时没有把ActiveX 一项选上,重新安装VC6,选上ActiveX就可以了),这时在ClassView 视窗中就可以看到CMSComm类了,(注意:此类在ClassWizard中看不到,重构clw文件也一样),并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标将此图标拖到对话框中,程序运行后,这个图标是看不到的。3.利用ClassWizard定义CMSComm类控制对象 打开ClassWizard- >Member Viariables 选项卡,选择CSCommTestDlg^,为IDC_MSCOMM1添加控制变量:m_ctrlCom m,这时你可以看一看,在对话框头文件中自动加入了//{{AFX_INCLUDES()#include "mscomm.h" //}}AFX_INCLUDES (这时运行程序,如果有错,那就再从头开始)。 4 .在对话框中添加控件 向主对话框中添加两个编辑框,一个用于接收显示数据ID为 IDC_EDIT_RXDATA另一个用于输入发送数据,ID为IDC_EDIT_TXDAT A再添加一个按钮,功能是按一次就把发送编辑框中的内容发送一次,将其ID设为 IDC_BUTTON_MANUALSEND别忘记了将接收编辑框的Prop erties->Styles 中把Miltiline和Vertical Scroll属性选上,发送编辑框若你想输入多行文字,也可选上Miltiline。

串口调试助手3_用户手册

串口调试助手3.0版 使用说明书

目录 串口调试助手3.0版 (1) 使用说明书 (1) 串口调试助手3.0版简介 (1) 安装串口调试助手3.0版 (2) 使用频道列表 (3) 使用A频道 (4) 使用B频道 (5) 使用C频道 (6) 使用D频道 ............................................................ 错误!未定义书签。

软件使用说明书串口调试助手3.0版简介 串口调试助手3.0版是WMD工 作室最新研发的智能调试工具, 是不折不扣的“串口助手”。 串口调试助手3.0版可以实现的功 能包括发送接受16进制数、字符 串、传输文件、搜索出空闲串口 等,此外,还可以搜索用户自定义设置其他的项目。 为了让大家更好的使用串口调试助手3.0版将提供自动更新功能,用于免费升级软件以及修正bug.。 1

软件使用说明书 安装串口调试助手3.0版 安装串口调试助手需要Windows 2000/XP/2003/Vista操作系统中 的任一种,Windows NT 4.0 下面 没有测试过,不保证可运行。 串口调试助手为绿色软件,下载 后只需要复制到硬盘上的指定目录中即安装完成。 因为要到网络上加查更新,如果您的计算机的安 全防护软件提示,该程序需要访问网络的时候, 建议选择“允许”访问。 2

软件使用说明书使用列表 软件安装完成后,直接双击“串口调试助手3.0”即可运行软件。 检查串口线是否连接到计算机和设备 上。如果2端都是本计算机上的串口, 一定确认串口调试助手打开的是您指 定的串口。 3

串口调试助手C++开发

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,那可能是你在安装VC6时没有把ActiveX一项选上,重新安装VC6,选上ActiveX就可以了),这时在ClassView视窗中就可以看到CMSComm类了,(注意:此类在ClassWizard中看不到,重构clw文件也一样),并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标将此图标拖到对话框中,程序运行后,这个图标是看不到的。

3.利用ClassWizard定义CMSComm类控制对象 打开ClassWizard->Member Viariables选项卡,选择CSCommTestDlg类,为IDC_MSCOMM1添加控制变量:m_ctrlComm,这时你可以看一看,在对话框头文件中自动加入了//{{AFX_INCLUDES() #include "mscomm.h" //}}AFX_INCLUDES (这时运行程序,如果有错,那就再从头开始)。 4.在对话框中添加控件 向主对话框中添加两个编辑框,一个用于接收显示数据ID为IDC_EDIT_RXDATA,另一个用于输入发送数据,ID为IDC_EDIT_TXDATA,再添加一个按钮,功能是按一次就把发送编辑框中的内容发送一次,将其ID设为IDC_BUTTON_MANUALSEND。别忘记了将接收编辑框的Properties->Styles中把Miltiline和Vertical Scroll属性选上,发送编辑框若你想输入多行文字,也可选上Miltiline。 再打开ClassWizard->Member Viariables选项卡,选择CSCommTestDlg 类,为IDC_EDIT_RXDATA添加CString变量m_strRXData,为

串口调试步骤

【转】JCBus串口调试助手简明教程 2009-03-04 20:33 JCBus串口调试助手是最为您着想的串口调试助手: -自动添加 CRC-16校验码 -按需存储 8条调试消息,软件关闭后自动存储 -收发对应且时间戳精确到1毫秒,易于查找 -突出显示设备返回消息的数据部分(JCBus或部分Modbus协议) -灵活解析各种数据类型 -精确查找所有可用串口,并支持USB虚拟串口 -在线设置串口名称、波特率、奇偶校验、数据位、停止位等 -智能收发多种格式,可以手动/有限次/无限次自动发送/自动接收,发送间隔长达596小时 -全面支持 Windows98、2000、XP、Vista等多种操作系统 衷心希望她能成为您工作与学习中的好帮手。以下请阅读其简明教程: 1. 双击运行软件 如果出错,请先安装Microsoft .NET Framework 2.0,即微软.NET 2.0虚拟机。 第一次运行时,请先阅读使用协议,并单击“我同意”。如图1.1所示。

图1.1 第一次运行时请阅读使用协议,单击“我同意” 图1.2 JCBus串口调试助手的工作区域 随后,可以看到如图1.2所示的软件工作区域: 1.1 标题栏:显示为“JCBus串口调试助手” 1.2 菜单栏:包括“文件”、“帮助”等菜单项目 1.3 串口参数设置区:用于设置串口名称、波特率、校验位、数据位和停止 位等 1.4 调试结果解析区:用于解析调试过程中的数据,使数据在16进制、10 进制等之间转换。 1.5 调试区:分“消息应答”和“自动接收”两种调试方式。 A. “消息应答”:软件向设备发送一条消息后接收设备回应的信 息; B. “自动接收”:软件只负责接收设备发送的消息并在界面上显 示出来。 两种方式可以通过点击“消息应答”或者“自动接收”标签页来切换。 1.6 显示区:处于调试区的中间位置 1.7 调试操作区:记录“消息应答”方式的详细调试操作

Com_串口调试工具的使用

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

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

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

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

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

VB串口调试助手源代码

VB串口调试助手源代码 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’先判断串口是否打开,如果打开则先关闭

串口调试工具使用及其相关技巧

串口调试是一件比较麻烦的事情,但是如果掌握一定的技巧,则事情就变得简单很多。有两个重要的工具,一个叫串口调试工具,一个叫虚拟串口。 串口调试工具由于设置本机电脑的串口的参数: 打开Port菜单——settings: 设置你所需要读写的串口的参数(一般只要选择Port number): 设置完成后然后打开该串口(Port菜单——Open COMn):

这样如果你的物理串口端(接单片机、PLC等)已经设置好,并正常工作,则你就会可以在上面的文本框看到接受到的实时数据,而在下面的文本框中输入数据,并点击Send按钮即可发送。 然而,关键的问题常常出现在物理串口,或者下位机的程序,而此时初学者往往难以找到问题所在,多次尝试失败后就会产生放弃的念头。 实际上方法很简单,核心思想就是分解问题,不是不知道到底是硬件连接问题,还是下位机程序问题,甚至有可能是上位机程序问题吗?那么就把问题分离开! 解决方案就是使用我给你的虚拟串口软件。 虚拟串口软件可以虚拟出一对相互连接且设置后的串口(物理上并不存在)。这样,物理连接的问题就被分离开了,你在计算机上直接运行上位机和下位机的程序,他们之间通过虚拟串口通信,如果没有问题,下一步诊断物理连接的问题就容易很多了。这对于串口编程效率也是至关重要的! 具体操作: 1)解压虚拟串口的压缩文件,得到一个文件夹: 2)文件夹内容如下:

这个虚拟串口不太好找,当年我花了不少时间。 运行NT6文件夹下的vsbsetup.exe文件,安装就完成了。(所以最后把你解压后的文件夹放到你一般不会移动的位置) 然后运行vspdconfig.exe,就打开这个虚拟串口软件啦! 点击Add pair,你就得到了两个虚拟的串口,一般默认为COM1,COM2,你可以自己设置虚拟的端口号(但要注意避开已有的物理端口号!) 完了之后你就可以在左边的Virtual ports中看到你的虚拟端口啦:

labview串口调试助手

《虚拟仪器技术》课程设计报告 题目:串口调试助手 专业:测控技术与仪器 班级:测控0901 学号:091301120 姓名:吴迪 指导教师:陈老师王老师 完成日期: 2013年3月

扬州大学能源与动力工程学院 2013年3月

目录 一.设计目的 (2) 二.设计步骤 (6) 1.基本框架的设计 (7) 2.配置串口各个参数 (8) 3.写入字符串 (9) 4.写入格式的选择 (11) 5.读取字符串 (12) 6.读取字符串格的选择 (13) 7.清空读取字符串 (13) 8.打开串口 (14) 9.对界面颜色的设计 (14) 三.总程序图 (15) 四.调试中遇到的问题 (16) 五.体会 (17)

第一部分 课 程 设 计 指 导 书

1.设计目的 (1)掌握Labview软件编程方法 (2)掌握虚器仪器实验室硬件的应用 (3)培养综合应用所学知识来指导实践的能力 2.设计所用仪器及器件 (1) NI公司的数据采集和信号调理卡。NI MyDQA卡,myboard 辅助电路板。 (2)计算机一台。 (3)各种相关的实验材料和设备。 3.实物内容及要求 (1)设计成果一份。 (2)课程设计报告一份。 4.进程安排 1.布置任务、查阅资料,方案设计(两天) 根据设计要求,查阅参考资料,进行方案设计及可行性论证,确定设计方案,画出详细的原理图。 2.上机在LabVIEW环境下按要求进行设计(三天) 要求在虚拟仪器上观测到正确的波形并达到规定的技术指标。

3.硬件的装配及调试(三天) 使用数据采集卡进行装配调试,使其全面达到规定的技术指标,最终通过验收。 4.总结报告(一天) 5.课程设计报告内容 总结设计过程,写出设计报告,设计报告具体内容要求如下:1.课程设计的目和设计的任务 2.课程设计的要求及技术指标 3.总方案的确定并画出原理框图。 4.各基本单元原理及设计 (结合设计图写)。 5.总原理图,工作原理、工作特性(结合框图及前面版讲解)。 6.电路安装、调试步骤及方法,调试中遇到的问题,及分析解决方法。 7.实验结果分析,改进意见及收获。 8.体会。

串口调试助手AccessPort(工具篇)

TivaC LP学习入门4—串口调试助手AccessPort(工具篇)在嵌入式系统的开发与调试中,串口是必不可少的一个调试工具。 在Windows XP操作系统里,系统自带的有超级终端。 但在Win7系统并没有自带串口调试终端,所以推荐个好用的串口工具,AcessPort。 1.下载 官网链接:https://www.sodocs.net/doc/993148882.html,/cn/ap/download.htm 百度网盘1.37版本:https://www.sodocs.net/doc/993148882.html,/s/13jrM0 2.安装 该工具无需安装,只要解压即可使用。 3.使用说明 (以下内容直接来自解压后,官方说明文档readme_zh_CN.txt) SUDT AccessPort 1.37 说明

===================== 在使用之前请仔细阅读本说明 1.软件说明 --------------------- SUDT AccessPort 是一款用于PC机串口(RS232)调试、监控的软件。 特点: 1).监控串口:具有端口监控功能,可以监控、拦截、保存所收发的数据 (NT/2K/XP/Vista/Win7)。 2).串口调试:支持常用的串口操作功能,支持大数据量的收发、保存,支持自动发送。 3).动态变参:在不改变当前所打开端口的情况下,能动态改变端口参数(如:波特率、校验位、流控制等)。 4).双模编辑:数据发送区内嵌十六进制编辑器(类似UltraEdit),支持十六进制<=>文本双模式切换编辑,支持unicode。 5).国际版本:国际版,支持多国语言。 6).无需安装:界面友好,方便易用。 简要描述: 1).用于串口调试,支持常用的110-256000波特率,支持自定义波特率。 2).能以字符或十六进制接收或发送任何数据,能发送、接收任意大小的文件。 3).在不改变当前所打开端口的情况下,能动态改变端口参数(如:波特率、校验位、流控制等)。 4).数据发送区可实时编辑、发送文本数据。 5).能将所接收的原始数据以及显示数据分别保存。 6).数据发送区允许设置发送周期,自动发送数据。 7).可调试的端口范围是COM1-COM255,支持扩展端口(USB<->RS232)。 8).可设置字体、文字颜色、背景颜色。 9).允许将发送区的数据在接收区回显,模拟终端操作。 10).允许发送区数据以回车键作为发送操作信号。

串口调试助手源程序编程详细过程

目录: 1.建立项目 2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件 5.添加串口事件消息处理函数OnComm() 6.打开和设置串口参数 7.发送数据 8.发送十六进制字符 9.在接收框中以十六进制显示 10.如何设置自动发送 11.什么是VARIANT数据类型?如何使用VARIANT数据类型? 在众多网友的支持下,串口调试助手从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,那可能是你在安装VC6时没有把ActiveX一项选上,重新安装VC6,选上ActiveX就可以了),

经典的串口调试助手源代码.

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 = "断开串口 "

串口调试助手使用说明和技术总结

串口调试助手的技术报告 1.软件简介 串口调试助手是在Windows平台下开发的,工具是VC++6.0。串口调试助手版支持常用的300 ~ 115200bps波特率,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送数据或字符(包括中文),能发送文本文件,可以任意设定自动发送周期,并能将接收数据保存成文本文件。是工程师调试串口的好助手工具。 2.软件特点 (1) 支持XP /Vista/Win7系统; (2) 绿色软件,不需安装。运行解压软件,将压缩包解压到指定目录即可。 卸载时只需将程序目录删除; (3) 支持常用的300 ~ 115200bps波特率; (4) 端口范围是COM1-COM4; (5) 能设置校验、数据位和停止位; (6) 能以字符或十六进制收发数据,支持中文字符的收发; (7) 支持文件数据的发送; (8) 数据发送端允许设置发送周期,自动发送数据; (9) 支持键盘输入,将键盘数据发送到串口; (10)支持自动清空(若设置了“自动清空”,则达到50行后,自动清空接收编 辑框中显示的数据)接收窗口数据; (11)如果没有“自动清空”,数据行达到400后,也自动清空,因为数据过 多,影响接收速度,显示是最费CPU时间的操作 (12)能够保存接收到的数据,保存地址默认的是C:\COMDATA; (13)设置了“停止显示”和“继续显示”按钮,可以方便的照出要使用的信 息; (14)图钉按钮功能使程序能浮在最上层。 3.软件界面

图1串口调试助手V3.0界面 4.软件的设计流程 本软件使用的是Windows API 串口编程,其编程基本步骤如下: (1)打开串口; (2)建立串口通信事件; (3)初始化串口; (4)建立数据线程; (5)读写数据; (6)结束时关闭串口。 5.遇到的问题与相应的解决方案 (1)串口打开或者关闭有明显的提示 (2)界面的大小设置问题,起初只有最小化按钮,按要求加上最大化以及界面要按照一定的规则能进行缩放 (3)能发送和接收汉字 (4)串口接收显示的数据丢失原因:接收显示是影响程序性能的一个大问题,当接收到大量数据时,串口通信助手响应不太及时,这个可能与调用类中的使用机制有关,但显示也没能很好地处理,不过在实际的传输过程中是没有丢失数据的。

串口调试助手VC源程序及编程详细过程

串口调试助手VC源程序 及编程详细过程 作者:龚建伟 可以任意转载,注明作者和说明来自◆龚建伟技术主页◆ 目次: 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,那可能是你在安装VC6时没有把ActiveX一项选上,重新安装VC6,选上ActiveX就可以了), 这时在ClassView视窗中就可以看到CMSComm类了,(注意:此类在ClassWizard中看不到,重构clw文件也一样),并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标将此图标拖到对话框中,程序运行后,这个图标是看不到的。 3.利用ClassWizard定义CMSComm类控制对象打开ClassWizard->Member Viariables选项卡,选择CSCommTestDlg类,为IDC_MSCOMM1添加控制变量:m_ctrlComm,这时你可以看一看,在对话框头

commAssistant串口调试助手3用户使用手册

串口调试助手3.0版 使用说明书 WMD 工作室 https://www.sodocs.net/doc/993148882.html,/ 说明:原创为WMD 下载:“串口调试助手”英文名叫“CommAssistant”,华军软件园有免费版下载;

目录 串口调试助手3.0版 (1) 使用说明书 (1) 串口调试助手3.0版简介 (1) 安装串口调试助手3.0版 (2) 使用频道列表 (3) 使用A频道 (4) 使用B频道 (5) 使用C频道 (6) 使用D频道 ............................................................ 错误!未定义书签。

软件使用说明书串口调试助手3.0版简介 串口调试助手3.0版是WMD工 作室最新研发的智能调试工具, 是不折不扣的“串口助手”。 串口调试助手3.0版可以实现的功 能包括发送接受16进制数、字符 串、传输文件、搜索出空闲串口 等,此外,还可以搜索用户自定义设置其他的项目。 为了让大家更好的使用串口调试助手3.0版将提供自动更新功能,用于免费升级软件以及修正bug.。 1

软件使用说明书 安装串口调试助手3.0版 安装串口调试助手需要Windows 2000/XP/2003/Vista操作系统中 的任一种,Windows NT 4.0 下面 没有测试过,不保证可运行。 串口调试助手为绿色软件,下载 后只需要复制到硬盘上的指定目录中即安装完成。 因为要到网络上加查更新,如果您的计算机的安 全防护软件提示,该程序需要访问网络的时候, 建议选择“允许”访问。 2

软件使用说明书使用列表 软件安装完成后,直接双击“串口调试助手3.0”即可运行软件。 检查串口线是否连接到计算机和设备 上。如果2端都是本计算机上的串口, 一定确认串口调试助手打开的是您指 定的串口。 3

串口调试助手源代码

串口调试助手预源代码 using System; using System.Collections.Generic; using https://www.sodocs.net/doc/993148882.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.IO.Ports; using System.Threading; using DevExpress.XtraEditors; using System.Text.RegularExpressions; namespace WindowsFormsApplication3 { public partial class Form1 : XtraForm { SerialPort sp1 = new SerialPort();

int Flag = 0; int StateChanged = 0; int StateChanged_Ascii = 1; int StateChanged_16 = 0; string Temp = null; string Temp_memoSend = null; private void memoSend_EditValueChanged(object sender, EventArgs e) { } public Form1() { InitializeComponent(); sp1.DataReceived += sp1_DataReceived; } private void Form1_Load(object sender, EventArgs e) { this.MaximizeBox = false; //检查是否有串口 string[] str = SerialPort.GetPortNames(); if (str == null) { MessageBox.Show("本机没有串口!", "error"); return; } //添加串口项目 foreach (string port in System.IO.Ports.SerialPort.GetPortNames()) { cbSerial.Properties.Items.Add(port); } //串口设置默认选择项 cbSerial.SelectedIndex = 0; Control.CheckForIllegalCrossThreadCalls = false;

相关主题