两个f28335型号的DSP串口通信问题

2019-07-15 18:47发布

      目前在学习DSP的串口通信,即利用DSP上的SCI功能进行异步串行通信。对于ti官方给的例程,已经进行了验证,发现DSP的串口是没有问题的。现在手里边有两块f28335的DSP芯片,想在此基础上进行两个DSP的串口通信。       在官方例程的基础上对程序做了一些修改,现在已经完成的工作如下:
       1)DSP芯片1,烧入一个发送数据的程序,从0开始发送,一直往上发。发送程序如下:
            int i=0;
             for(;;)
             {
                  scia_xmit(i);
                    i++;
              //while(SciaRegs.SCIFFRX.bit.RXFFST !=1) { }
              //LED1 =0x000f & SciaRegs.SCIRXBUF.all;
              }
           烧写完成后,DSP上电将数据发送给电脑,利用串口调试软件验证,发现能够正常发送。
       2)DSP芯片2,烧入一个接收和发送数据的程序,将接收到的数据发送回去。主要的程序如下:
           for(;;)
           {
            while(SciaRegs.SCIFFRX.bit.RXFFST !=1) { } // wait for XRDY =1 for empty state
             ReceivedChar = SciaRegs.SCIRXBUF.all;
             scia_xmit(ReceivedChar);
            }
           void scia_xmit(int a)
          {
          while (SciaRegs.SCIFFTX.bit.TXFFST != 0) {}
          SciaRegs.SCITXBUF=a;
           }
           烧写完后,DSP上电,利用串口和电脑进行通信。通过串口调试软件发送数据给DSP,发现接收到的数据和发送的数据相同,所以功能正确。
         3)在完成上两项的工作后,接下来将两者联系起来,验证DSP和DSP的通信。用引线将DSP芯片1的TXD引脚和DSP芯片2的RXD相连,将DSP芯片2的TXD引脚接到RS-232的发送端,将数据发送给电脑。将以上系统搭建好后,上电后进行验证,发现电脑串口调试软件并没有收到数据,说明两个DSP没有正常通信。


         各位有没有知道原因的,能不能帮忙给解答一下。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。