微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > DSP28335串口通信只能发送,接收不正常

DSP28335串口通信只能发送,接收不正常

时间:10-02 整理:3721RD 点击:
interrupt void scibTxFifoIsr(void)
{
    Uint16 i;
//        if(Receive_flag==1)
//        {
  for(i=0; i< 8; i++)
    {
           ScibRegs.SCITXBUF=0x0f;//sdataB[i];     // Send data
        }
//        Receive_flag=0;
//        }
  //  for(i=0; i< 8; i++)                 //Increment send data for next cycle
  //  {
        //   sdataB[i] = (sdataB[i]-1) & 0x00FF;
//        }
        ScibRegs.SCIFFTX.bit.TXFFINTCLR=1;  // Clear Interrupt flag
        PieCtrlRegs.PIEACK.all|=0x100;      // Issue PIE ACK
}
interrupt void scibRxFifoIsr(void)
{
   // Uint16 i=0;
//        for(i=0;i<8;i++)
//        {
           rdataB[0]=ScibRegs.SCIRXBUF.all;         // Read data
//        }
   // Receive_flag=1;
//        for(i=0;i<8;i++)                     // Check received data
//        {
          // if(rdataB[i] != ( (rdata_pointB-i) & 0x00FF) ) error();
//        }
//        rdata_pointB = (rdata_pointB-1) & 0x00FF;
        ScibRegs.SCIFFRX.bit.RXFFOVRCLR=1;  // Clear Overflow flag
        ScibRegs.SCIFFRX.bit.RXFFINTCLR=1;         // Clear Interrupt flag
        PieCtrlRegs.PIEACK.all|=0x100;          // Issue PIE ack
}
void scib_fifo_init()
{
   ScibRegs.SCICCR.all =0x0007;    // 1 stop bit,  No loopback
                                   // No parity,8 char bits,
                                   // async mode, idle-line protocol
   ScibRegs.SCICTL1.all =0x0003;   // enable TX, RX, internal SCICLK,
                                   // Disable RX ERR, SLEEP, TXWAKE
   ScibRegs.SCICTL2.bit.TXINTENA =1;
   ScibRegs.SCICTL2.bit.RXBKINTENA =1;
   ScibRegs.SCIHBAUD    =0x0001;
   ScibRegs.SCILBAUD    =0x00E7;//SCI_PRD;
   ScibRegs.SCICCR.bit.LOOPBKENA =0; // Enable loop back
   ScibRegs.SCIFFTX.all=0xC028;
   ScibRegs.SCIFFRX.all=0x0021;
   ScibRegs.SCIFFCT.all=0x00;
   ScibRegs.SCICTL1.all =0x0023;     // Relinquish SCI from Reset
   ScibRegs.SCIFFTX.bit.TXFIFOXRESET=1;
   ScibRegs.SCIFFRX.bit.RXFIFORESET=1;
}

不能接收啊,也不知道为什么,悲催啊,有大神嘛

好贴,不好意思,我来晚了。

哈哈哈。仍要感谢一下!

貌似问题很简单啊

我也是在实现通信功能,但编译时出现error:struct PIE_VECT_TABLE has no field SCIRXINTA.该怎么办?

好贴,不好意思,我来晚了。

我也是不能接收     用的是ADM2587E这个收发器,RS485接口,诶…………
在RS232已经实现接收跟发送     到485这就不行了  /RE和DE也配置好了  就是不行   不知道问题在哪!  郁闷

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top