TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430f5438 串口连续发送1024字节数据,每隔128字节出现延时现象,各位大神求指导。

#include <msp430.h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P3SEL = 0x30; // P3.4,5 = USCI_A0 TXD/RXD
UCA0CTL1 |= UCSWRST; // **Put state machine in reset**
UCA0CTL1 |= UCSSEL_1; // CLK = ACLK
UCA0BR0 = 0x03; // 32kHz/9600=3.41 (see User's Guide)
UCA0BR1 = 0x00; //
UCA0MCTL = UCBRS_3+UCBRF_0; // Modulation UCBRSx=3, UCBRFx=0
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt
while(1)
{ for(int i=0;i < 1024;i++ )
{
while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = 0x01; // TX -> RXed character
}
}
__bis_SR_register(LPM3_bits + GIE); // Enter LPM3, interrupts enabled
__no_operation(); // For debugger
}

官网的例程稍作修改,使用的iar,波特率9600,使用我们自己设计的硬件电路(板子更换过多块),串口工具收到数据如下(每帧128字节)。各位大神多指导,万分感谢,也测试5438A,同样出现过这样的情况。

[09:54:07.791]收←◆01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01[09:54:07.924]收←◆01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01[09:54:08.056]收←◆01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01[09:54:08.189]收←◆01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

Susan Yang:

我会在测试后给您回复

您使用的是哪个串口助手?

灰小子:

楼主怎么判断128个字节出现延时的?

通过串口助手收到的数据吗?

换个串口助手吧,估计你用的串口助手缓存只有128个字节。

灰小子:

回复 Susan Yang:

不用测试的。
计算一下就好。
使用9600波特率,传输128个字节,按10位传输一个字节大约需要0.133秒。
09:54:07.924-09:54:07.791=0.133
09:54:08.056-09:54:07.924=0.132
完全没问题哦~~

Susan Yang:

回复 灰小子:

好方法 谢谢

user6221757:

回复 Susan Yang:

SSCOM V5.12.1作者习小猛,更换过多个测试工具,我们也自己也有测试软件,都有这样的情况,使用115200,测试就是1帧,不会断开。

user6221757:

回复 Susan Yang:

但是正常的话不应该出现帧换行现象。使用115200就是一只连着的。我们现在开发的产品,往上位机软件传输数据,一包1024字节,传输过程中就出现这样的的情况。

user6221757:

感谢各位的回答。

灰小子:

回复 user6221757:

这种发送大量数据的情况,应该关注有没有丢失数据。
你测试的时候不要发相同的数字,让数字自加1,然后发送。看收到的数据是否有丢失。

赞(0)
未经允许不得转载:TI中文支持网 » MSP430f5438 串口连续发送1024字节数据,每隔128字节出现延时现象,各位大神求指导。
分享到: 更多 (0)