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

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条回答
Li_Lei
2019-03-25 16:52
你得把这个拿到服务程序外边,while(!(IFG1&UTXIFG0));这个循环等待影响了接收

一周热门 更多>

相关问题

    相关文章