串口数据存入数组,做数据处理后再发送的问题

2019-03-24 13:54发布

先上代码
#pragma vector=UART1RX_VECTOR
__interrupt void UART1_RX_ISR(void)
{
uint i; uint j=0;

data[ j++]=U1RXBUF;
  
//delay_ms(1000);
  data[5]=0x1a;  
  data[6]=' ';
  for(i=0;i<7;i++)
{  
   while(!(IFG1&UTXIFG0));
  U0TXBUF=data;
  

IFG2=0;
}                              
}

这是中断处理部分,我想把串口1收到的值存入数组,然后加上个后面两个字节,之后再从串口0发送出去,data[]是全局变量,别的地方没有任何引用
然后我用串口助手发十六进制的1234567890,收到的却是十六进制的12 00 00 00 00 1a 0a,说明存入数组的只有第一个字节,
为什么会这样呢,请各位指点迷津,先谢谢各位了。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
sint27
1楼-- · 2019-03-24 17:08
顶一下,打错了,其中有一句是U0TXBUF=data,坐等高手现身
sint27
2楼-- · 2019-03-24 18:45
< :TI_MSP430_内容页_SA7 --> 是U0TXBUF=data[ i ];才对,竟然连续打错2次。。。
ltbytyn
3楼-- · 2019-03-24 23:10
 精彩回答 2  元偷偷看……
tinaliang
4楼-- · 2019-03-25 00:23
顶楼上。
shaung909092
5楼-- · 2019-03-25 03:28
也可以设置为 静态局部变量 static   就像楼上说的  只接受一个字符 就产生中断 经一次中断 i  j 就清零了
sint27
6楼-- · 2019-03-25 08:06
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章