This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TCP连接失败后UART1中断异常

Other Parts Discussed in Thread: TMS320C6748, SYSBIOS
硬件是广州创龙公司的TL6748. CPU是TMS320C6748

在TMS320C6748_CD\demo\SYSBIOS\Application\TCP_Client基础上修改得来,使用CCS5.5开发环境;
增加了UART1的中断配置和定时器的中断配置。
两个中断都使用app.cfg文件在XGCONF界面配置。
网口不连接网线,串口UART1连接到电脑。做以下两个实验。
实验1:
仿真器调试运行,电脑上串口助手一直发。CCS控制台打印出TCP连接失败时,UART1中断不再进入,串口助手收不到应答了。而定时器中断正常。
实验2:
仿真器调试运行,串口助手不发。CCS控制台打印出TCP连接失败后,开串口助手一直发,能收到应答。
似乎TCP连接失败的先后,与串口中断不响应也有关系
附件是工程源码。请问这是怎么回事。我希望TCP连接失败,不影响UART1的中断响应。
创龙公司也没能解决。非常着急。
Copy of TCP_Client3 - 201611220015.zip
  • 可以在TCP失败后把串口相关的寄存器和中断相关的寄存器都打印出来,对比一下正常状态的寄存器

  • //正常时

    UART1_RBR = 0x( 39)
    UART1_THR = 0x( 39)
    UART1_IER = 0x( 5) //ERBI=1
    UART1_IIR = 0x( c1)
    UART1_FCR = 0x( c1)
    UART1_LCR = 0x( 3)
    UART1_MCR = 0x( 0)
    UART1_LSR = 0x( 60)
    UART1_MSR = 0x( 0)
    UART1_SCR = 0x( 0)
    UART1_DLL = 0x( 7b)
    UART1_DLH = 0x( 0)
    UART1_REVID1 = 0x(44141102)
    UART1_REVID2 = 0x( 0)
    UART1_PWREMU_MGMT = 0x(6003)

    //进入TCP失败
    UART1_RBR = 0x( 39)
    UART1_THR = 0x( 39)
    UART1_IER = 0x( 5) //ERBI=1
    UART1_IIR = 0x( c4) //Receiver data available (priority 2)
    UART1_FCR = 0x( c4) //FIFOEN
    UART1_LCR = 0x( 3)
    UART1_MCR = 0x( 0)
    UART1_LSR = 0x( 61) //data is ready
    UART1_MSR = 0x( 0)
    UART1_SCR = 0x( 0)
    UART1_DLL = 0x( 7b)
    UART1_DLH = 0x( 0)
    UART1_REVID1 = 0x(44141102)
    UART1_REVID2 = 0x( 0)
    UART1_PWREMU_MGMT = 0x(6003)
    UART1_MDR = 0x( 0)

    failed connect (6)

    上面对比也看不出什么啊