搜档网
当前位置:搜档网 › msp430串口1收发程序

msp430串口1收发程序

msp430串口1收发程序
msp430串口1收发程序

#include

char UART1_TX_BUF[60]; // 串口1 的发送缓冲区

char UART1_RX_BUF[60]; // 串口1 的接收缓冲区

int nTX1_len;

char nRX1_len;

char nRX1_Len_temp; //临时文件

char nTX1_Flag;

int nSend_TX1;

char UART1_RX_Temp[60];

inti;

void Init_UART1(void)

{

U1CTL =0x00; //将寄存器的内容清零

U1CTL &=~SWRST; //SWRDT复位,uart允许

U1CTL += CHAR;//数据位为8bit

U1TCTL |=SSEL0; //波特率发生器选择ACLK

UBR0_1 = 0x03;

UBR1_1 = 0x00;

UMCTL_1 = 0x4A; //使用32khz晶振时,波特率为9600

ME2 |= UTXE1 + URXE1; //使能UART1的TXD和RXD

IE2 |= URXIE1; //使能UART1的RX中断

IE2 |= UTXIE1; //使能UART1的TX中断

P3SEL |= BIT6; //设置P3.6为UART1的TXD

P3SEL |= BIT7; //设置P3.7为UART1的RXD

P3DIR |= BIT6; //P3.6为输出管脚

return;

}

voidInit_Port(void)

{

//将所有的管脚在初始化的时候设置为输入方式

P3DIR = 0;

//将所有的管脚设置为一般I/O口

P3SEL = 0;

return;

}

voidInit_CLK(void)

{

unsignedinti;

BCSCTL1 = 0x00; //将寄存器的内容清零//XT2震荡器开启//LFTX1工作在低频模式//ACLK的分频因子为1

//xts=0

{

IFG1 &= ~OFIFG; // 清除OSCFault标志

for (i = 0x20; i> 0; i--);

}

while ((IFG1 & OFIFG) == OFIFG); // 如果OSCFault =1 //OFIFG振荡器错误

BCSCTL2 = 0x00; //将寄存器的内容清零

BCSCTL2 += SELM1; //MCLK的时钟源为TX2CLK,分频因子为1//10,000000

BCSCTL2 += SELS; //SMCLK的时钟源为TX2CLK,分频因子为1//00001000

}

///////////////////////////////////////

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗

_DINT();// 关闭中断

// 初始化时钟

Init_CLK();

// 初始化端口

Init_Port();

// 初始化串口1

Init_UART1();

// 打开中断

_EINT();

while(1);

}

#pragma vector = UART1RX_VECTOR

__interrupt void UART1_RXISR(void)

{

UART1_RX_BUF[nRX1_Len_temp]=RXBUF1; //将数据读入寄存器。

nRX1_len=nRX1_Len_temp;

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

UART1_RX_Temp[i] = UART1_RX_BUF[i];//将接收到的数据拷贝到临时缓冲区。

nTX1_len= nRX1_len+1;

IFG2 |= UTXIFG1; // 设置中断标志,进入发送中断程序

nRX1_len=0;

#pragma vector = UART1TX_VECTOR

__interrupt void UART1_TXISR(void)

{

if(nTX1_len != 0)

{

nTX1_Flag = 0; // 表示缓冲区里的数据没有发送完TXBUF1 = UART1_RX_BUF[nSend_TX1];

nSend_TX1 += 1;

if(nSend_TX1 >= nTX1_len)

{

nSend_TX1 = 0;

nTX1_len = 0;

nTX1_Flag = 1; //缓冲区里没有数据要发送了

}

nTX1_len=0;

}

}

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中接收。这种方法的好处是不用硬件就可以调试。这是网上一篇文章介绍的方法,联系我实际的使用做了整理。有用的着的人就不用继续摸索了

单片机MSP430F149-DS1302读写及串口收发程序

/******************************************************** * 文件名称: * IIC.c * 文件说明: * 使用口线模拟IIC * 程序使用波特率为2400,程序运行时需要在pc机上使用一个串口* 接收发送程序,任意发送字符,接收的字符为十六进制时间数据* MSP-FET430P149 Demo - Basic Clock, MCLK Sourced from HF XTAL XT2 * L.TCH * Feb 2007 * Built with IAR Embedded Workbench Version: 3.10A *******************************************************/ /*********************************************************/ #include /********************************************************* * 定义 *********************************************************/ #define RST BIT7 #define SDA BIT6 #define SCLK BIT5 char pbuf[7]; char clok[7]={0x16,0x15,0x14,0x13,0x12,0x04,0x07}; char cbuf; char bbuf; char *pda; char *pck; char *prg; /************************************************ 说明 ************************************************/ void Port_Init(void); void Init_CLK(void); void Init_UART0(void); void RST_Enable(void); void RST_Disable(void); void SCLK_HI(void); void SCLK_LO(void); void WriteByte(char nVal); char ReadByte(void); void WriteTo1302(char nAddr, char nVal); char ReadFrom1302(char nAddr);

串口调试助手使用方法

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

msp430f5529简单uart程序

/*****用串口助手发什么回复什么****/ #include "" // ACLK = REFO = 32768Hz, MCLK = SMCLK = default DCO/2 = 1048576Hz // ,5——USCI_A0 TXD/RXD;,5——USCI_A2 TXD/RXD;,5——USCI_A3 TXD/RXD; void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT P4SEL |=BIT4+BIT5 ; // ,7 = USCI_A1 TXD/RXD UCA1CTL1 |= UCSWRST; // **Put state machine in reset** UCA1CTL1 |= UCSSEL_2; // SMCLK UCA1BR0 = 9; // 1MHz 115200 (see User's Guide) UCA1BR1 = 0; // 1MHz 115200 UCA1MCTL |= UCBRS_1 + UCBRF_0; // Modulation UCBRSx=1, UCBRFx=0 UCA1CTL1 &= ~UCSWRST; // **Initialize USCI state machine** UCA1IE |= UCRXIE; // Enable USCI_A1 RX interrupt __bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled } // Echo back RXed character, confirm TX buffer is ready first,发送数据之前确定发送缓存准备好 #pragma vector=USCI_A1_VECTOR __interrupt void USCI_A1_ISR(void) { switch(__even_in_range(UCA1IV,4)) { case 0:break; // Vector 0 - no interrupt case 2: // Vector 2 - RXIFG while (!(UCA1IFG&UCTXIFG)); // USCI_A1 TX buffer ready UCTXIFG(USCI Transmit Interrupt Flag) //等待数据发送完成完成UCTXIFG置1 跳出循环 UCA1TXBUF = UCA1RXBUF; // TX -> RXed character break; case 4:break; // Vector 4 - TXIFG default: break; } } // UCTXIFG=0x02,UCA1IFG&UCTXIFG,当UCA1IFG的UCTXIFG位为1时,说明UCA1TXBUF 为空, //跳出while循环循环;当UCTXIFG位为0时UCA1TXBUF不为空,停在循环。

常用通讯测试工具使用

常用通讯测试工具 鉴于很多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 于\\计算机名(本地)”。如下图:

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

串口调试助手使用说明 为简单明了,有些不言自明的功能不作介绍。 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?

msp430串口1收发程序

#include char UART1_TX_BUF[60]; // 串口1 的发送缓冲区 char UART1_RX_BUF[60]; // 串口1 的接收缓冲区 int nTX1_len; char nRX1_len; char nRX1_Len_temp; //临时文件 char nTX1_Flag; int nSend_TX1; char UART1_RX_Temp[60]; inti; void Init_UART1(void) { U1CTL =0x00; //将寄存器的内容清零 U1CTL &=~SWRST; //SWRDT复位,uart允许 U1CTL += CHAR;//数据位为8bit U1TCTL |=SSEL0; //波特率发生器选择ACLK UBR0_1 = 0x03; UBR1_1 = 0x00; UMCTL_1 = 0x4A; //使用32khz晶振时,波特率为9600 ME2 |= UTXE1 + URXE1; //使能UART1的TXD和RXD IE2 |= URXIE1; //使能UART1的RX中断 IE2 |= UTXIE1; //使能UART1的TX中断 P3SEL |= BIT6; //设置P3.6为UART1的TXD P3SEL |= BIT7; //设置P3.7为UART1的RXD P3DIR |= BIT6; //P3.6为输出管脚 return; } voidInit_Port(void) { //将所有的管脚在初始化的时候设置为输入方式 P3DIR = 0; //将所有的管脚设置为一般I/O口 P3SEL = 0; return; } voidInit_CLK(void) { unsignedinti; BCSCTL1 = 0x00; //将寄存器的内容清零//XT2震荡器开启//LFTX1工作在低频模式//ACLK的分频因子为1 //xts=0

串口调试软件使用说明2.0

串口调试软件使用说明 首先,运行该软件显示的是一个对话窗。在该界面的左上角有五个小的下拉窗口,分别为串口,波特率,校验位,数据位,停止位。 串口窗口应为仪表与计算机相连时所使用的串口。 波特率窗口选择仪表设置的波特率。校验位选择无。 数据位选择8位 停止位选择2位 在停止位的下面是显示区的选项,选择十六进制显示。 在整个界面的下方是发送区,主要选择十六进制发送,发送方式可选手动发送或自动发送。其中自动发送可设置发送周期(以毫秒为单位)。除直接发送代码外本软件也可直接发送文件。 仪表通讯协议如下: 通讯格式为8位数据,2个停止位,无校验位。 仪表读写方式如下: 读指令:Addr+80H Addr+80H 52H 要读参数的代号 写指令:Addr+80H Addr+80H 43H 要写参数的代号写入数低字节写入数高字节 读指令的CRC校验码为:52H+Addr 要读参数的代号,Addr为仪表地址参数值范围是0-100。 写指令的CRC校验码为:43H+要写的参数值+Addr 要写的参数代号。 无论是读还是写,仪表都返回以下数据: 测量值PV+给定值SV +输出值MV及报警状态+所读/写参数值 其中PV、SV及所读参数值均为整数格式,各占2个字节,MV占1个字节,报警状态占1个字节,共8个字节。 每2个8位数据代表一个16位整形数,低位字节在前,高位字节在后,各温度值采用补码表示,热电偶或热 电阻输入时其单位都是0.1℃,1V或0V等线性输入时,单位都是线性最小单位。因为传递的是16位二进制 数,所以无法表示小数点,要求用户在上位机处理。 上位机每向仪表发一个指令,仪表在0-0.2秒内作出应答,并返回一个数据,上位机也必须等仪表返回数 据后,才能发新的指令,否则将引起错误。如果仪表超过最大响应时间仍没有应答,则原因可能无效指 令、通讯线路故障,仪表没有开机,通讯地址不合等,此时上位机应重发指令。

串口通信UART(msp430g2553)

#include "io430.h" #include "in430.h" #include "shumaguan.h" void UartPutchar(unsigned char c); unsigned char UartGetchar(); unsigned char temp=0; unsigned char number[2]={0}; void main( void ) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT BCSCTL1 = CALBC1_1MHZ; // Set DCO DCOCTL = CALDCO_1MHZ; P1DIR|=BIT6; P1OUT&=~BIT6; P1SEL = BIT1 + BIT2; // P1.1为RXD, P1.2为TXD P1SEL2 = BIT1 + BIT2; // P1.1为RXD, P1.2为TXD UCA0CTL1 |= UCSSEL_2; // 选择时钟BRCLK UCA0BR0 = 106; // 1MHz 9600 UCA0BR1 = 0; // 1MHz 9600 UCA0MCTL = UCBRS2 + UCBRS0; // 波特率=BRCLK/(UBR+(M7+...0)/8) UCA0CTL1 &= ~UCSWRST; // 初始化顺序:SWRST=1设置串口,然后设置SWRST=0,最后设置相应中断 IE2 |= UCA0RXIE; // 使能接收中断 while(1) { //UartPutchar(9); display_int(temp,0); delay(); } } /**********************************UART接收中断********************************/ #pragma vector=USCIAB0RX_VECTOR __interrupt void USCI0RX_ISR(void) { //while (!(IFG2&UCA0TXIFG)); // 等待发送完成

很好的串口调试工具--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.插入空格功能是为方便观察接收数据,打开'插入空格'功能后, 每接收一个字节数据将在接收文本框插入一个空格。

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

ComMonitor大傻串口调试软件 使用说明书 (2.0) 编写:大傻 Email: david_parkins@https://www.sodocs.net/doc/133361309.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。

MSP430串口通信讲解

串行通信接口是处理器与外界进行数据传输最常用的方式之一。顾名思义,串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。与并行通信相比,串行通信速度较慢,但占用更少的I/O 资源,只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。 串行通信可以分为同步通信和异步通信两种类型。如果带有同步时钟,则称为同步串行 通信,如常用的 SPI 和 I2C 接口就属于同步串行通信接口。如果没有同步时钟,依靠严格的时间间隔来传输每一比特,则称为异步串行通信。MSP430 系列单片机有两种串行通信接口,较早的 USART 模块和较新的 USCI 模块。 同步通信方式,是把许多字符组成一个信息组,这样,字符可以一个接一个地传输。但是,在每组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。同步方式下,发送方除了发送数据,还要传输同步时钟信号,信息传输的双方用同一个时钟信号确定传输过程中每1位的位置。 在异步通信方式中,两个数据字符之间的传输间隔是任意的,所以,每个数据字符的前后都要用一些数位来作为分隔位。

MSP430G2553单片机USCI模块原理图 串口通信所需配置: 1、时钟选择——以SMCLK时钟频率为1MHz为例。 ①选择SMCLK为串口通信频率。(P95页) ②设置SMCLK时钟频率为1MHz。 需要设置的寄存器:UCA0CTL1;(P95页)。

2、IO口定义为第二功能,即串口发送接收端口。 需要设置的寄存器:P1SEL|=BIT1+BIT2;,P1SEL2|=BIT1+BIT2;(中文P44页)。 2、数据传输格式

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.给所建的串口连接起一个名字,然后下一步 点击完成,至此我们就新建了一个串口连接。 我们可以看见我们刚才新建的串口的连接:

串口调试助手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

430单片机串口的程序升级

摘要:介绍了一种MSP430单片机通过串口升级程序的方法,并在MSP430F5438上得以实现。通过实验,证明此方法稳定、可靠,避免了利用仿真器更新程序的 繁琐,提高了效率。 关键词:MSP430F5438;串口;程序更新 随着性能的不断提高以及成本的降低,单片机在各个领域都得到了广泛的应用。尤其在信号的控制和处理方面,单片机以其超低的功耗、简单的操作成为设计者的首选。TI公司推出的MSP430x5xx系列单片机具有低电压、低功耗、高速处理能力以及配置灵活的接口等特点,是当今主流单片机之一。 同其他处理器一样,单片机正常工作除了需要硬件电路以外,还需要相应的用户应用程序。但应用程序在调试阶段以及实际使用时往往都需要更新,常规的方法需要打开机箱,将仿真器与单片机连接好,再更新程序。这种步骤比较繁琐,如果操作不当还会损坏设备。因此,如果能通过单片机已有的简单接口(如串口)更新应用程序,那么将给单片机的使用带来更大的方便。 1 总体思想 首先通过仿真器向单片机中写入一段小程序,称之为Bootloader程序。这个程序不是用户的应用程序,它的作用有两个:第一是在上电的一小段时间里实时检测串口,如果有上位机发出的更新程序命令,就发送握手信号,通知上位机发送更新代码,并将收到的更新代码写入单片机相应的Flash中;第二个作用是当检测到有应用程序存在时,跳转到应用程序的入口地址,执行应用程序。其流 程如图1所示。 上位机程序(VC++语言编写)的功能是,当用户发出更新程序的指令后,在一段时间内连续发送更新程序命令。如果收到单片机的应答信号,表示单片机准备开始接收更新代码。此时上位机读取已选择的代码文件,分段发给单片机。其流程如

Com_串口调试工具的使用

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

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

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

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

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

测试电脑的串口是否是好的 最完整最可靠的方法 就是 连接一个真实 的串口通信线路

测试电脑的串口是否是好的最完整最可靠的方法就是连接一个真实的串口通信线路,2 端用相应软件,如串口调试助手之类的,相互发送发送数据,看另外一端是否能正常接收! 当然,也可以简单的单台机器测试,即短接串口的2、3 两针,用相应软件,如串口调试助手,发送数据,看能否回显发送的数据 串口测试工具使用说明之一——串口调试工具 回复 6 | 人气1387 | 收藏 | 打印 | 推荐给版主 分享文章到: ye_w 个人主页给TA发消息加TA为好友发表于:2010-09-30 19:52:48 楼主 使用串口实现网络通讯,不仅仅需要熟悉控制双方的指令和相关的协议,而且还需要善于使用串口测试工具。在串口测试工具中,最常用的就是串口调试工具。这个串口调试工具网络上一大把,大家百度一下就能下载到(包括我逐步发布的调试工具,都不会提供资源,请大家直接去网络上查找),常用的包括:串口调试助手,串口精灵,Comm等。我也一直使用串口调试助手,下面就是用图形并茂的方式来介绍,请大家指出不足,以便共同进步。 串口调试助手,网络上的版本也有不少,我截2个不同版本的图,但本质没有区别 版本一 怎样测试串口和串口线是否正常 一步:把串口线或者USB转串口线插到计算机上。 二步:打开串口调试助手

接着选择串口,串口线和USB转串口的端口号查看路径: 电脑上--右键--属性--硬件--设备管理器-端口(COM和LPT),点 开端口前面的+号查看即可。 注释:1、USB-SERIAL CH340(COM4)就是USB转串口的端口号 2、通讯端口(COM1)是计算机原来自带的端口号 第三步:设置串口调试助手(见下图) 1、串口:COM4是和串口线或者USB转串口线在上述路径中查看到的端口号。 2、发送的字符/数据:图片上输入的是59,你可以随便输入2位数字。 3、其余设置按照下图。

MSP430g2553串口通信

MSP430g2553串口通信 MSP430的不同型号,其串行通讯工作模式是一样的。以MSP430G2553为例进行说明。MSP430G2553是20个引脚的16位单片机。具有内置的16位定时器、16k 的FLASH 和512B 的RAM ,以及一个通用型模拟比较器以及采用通用串行通信接口的内置通信能力。此外还具有一个10位的模数(A/D)转换器。其引脚排布如图1.1所示。其功能表如表1.1所示。 串行通讯模块主要由三个部分组成:波特率生成部分、发送控制器以及接收控制器。如图1.2所示。 一、UART 模式 在异步模式下,接收器自身实现帧的同步,外部的通讯设备并不使用这一时钟。波特率的产生是在本地完成的。异步帧格式由1个起始 位、7或8个数据位、校验位(奇/偶/无)、1个地址位、和1或2个停止位。一般最小帧为9个位,最大为13位。 图1.2 串行通讯模块内部结构图 图1.1 MSP430G2553引脚图

(一)UART的初始化 单片机工作的时钟源来自内部三个时钟或者外部输入时钟,由SSEL1、SSEL0,以决定最终进入模块的时钟信号BRCLK的频率。所以配置串行通讯的第一步就是选择时钟。 通过选择时钟源和波特率寄存器的数据来确定位周期。所以波特率的配置是串行通讯中最重要的一部分。波特率设置用三个寄存器实现:UxBR0(选择控制器0):波特率发生器分频系数低8位。UxBR1(选择控制器1):波特率发生器分频系数高8位。UxMCTL 数据传输的格式,以及数据传输的模式是通过配置控制寄存器UCTL来进行设置。 接收控制部分和发送控制部分。首先需要串行口进行配置、使能以及开启中断。串口接收数据一般采用中断方式,发送数据采用主动发送。当接收到一个完整的数据,产生一个信号:URXIFG0=1(类似于51单片机的接收中断标志位),表示接收完整的数据。当数据正在发送中,UTXIFG0=1,此时不能再发送数据,必须等当前数据发送完毕(UTXIFG0=0)才能进行发送。程序实例如下: Void UART_init() { WDTCTL = WDTPW + WDTHOLD; P1SEL|= 0x06;//I/O口的功能寄存器配置。为1时作为模块输出或者输出,0 为端口输入或者输出。配置P1.1,P1.2为串行口。 P2DIR=0x04;//串口发送端为输出,串口接收端为输入。0为输入,1为输出 U0CTL |= CHAR; // 配置控制寄存器,数据类型为8位。 U0TCTL |= SSEL0; // 选择时钟UCLK= ACLK。 U0BR0 = 0x45; // 分频系数的高8位,8MHz 时钟下波特率为115200 U0BR1 = 0x00; // 分频系数的低8位。 U0MCTL = 0x00; // 波特率的调整。 U0CTL&= ~SWRST;//系统复位。只有对SWRST 复位,USART 才能重新被允许。 而接收和发送允许标志URXE和UTXE不会因SWRST 而 更改。 ME1 |= UTXE0 + URXE0; //使能USART0 TXD/RXD模块USART中特有的使能配置。 IE1 |= URXIE0;//使能USART0 接收中断 _EINT();//开启全部中断。 _BIS_SR(LPM0_bits + GIE); // 初始化完毕,进入睡眠状态。等待工作。该程序直接调用。 } 发送数据函数: __interrupt void usart0_rx (void) { while (!(IFG1 & UTXIFG0)); // 判断发送缓冲区是否为空。 TXBUF0 = RXBUF0; // 将数据发送到串口。 }

相关主题