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.

28335挂仿真器调试正常,烧写入flash后重新上电串口收不倒数,会是哪方面的原因呢?



        三个SCI都用了,其他SCIB和SCIC都工作正常,只有SCIA在重新上电后收不到数据,SCIA的发送功能正常,点灯发现SCIA的接受缓冲区始终为零。

       挂仿真器在线调试程序运行都是正常的,程序运行周期和波特率什么的都量过没变。程序在以前的板子上运行是正常的,移植过来只是三个SCI交换了一下。现在真的是没头绪了。

  • 你是说你移植过来之后挂上仿真器运行SCI接收和发送都是没有问题的,断开仿真器跑就SCIA接收不到数据?

    有没有用示波器测试DSP的SCIA RX引脚是否收到数据?我觉得应该是硬件哪个地方有点问题

  • 我也遇到相同的问题。我的是SCIB的问题。用示波器看过,SCIB RX引脚上有数据。在SCIB的接收中断程序里面设置了IO口翻转,烧写flash,断开仿真器,流水灯在闪烁,说明主程序正常,但是SCIB中断程序对应的IO始终没波形,说明没有进入SCIB的接收中断。这个不知道是什么原因。请解答!

  • 关注!降低波特率
  • 关了其他几个SCI   只看SCIB看看工作是否正常 

     

  • 我之前的问题是cmd文件里没定义.ebss段,编译的时候有warning,当时没注意,cmd文件里添上就好了,具体原因不太明白

  • 问题解决了。是这样的。我发现Rxerror位是1。是1进不了接收中断了,不是1的时候是进得了的。我用的串口触摸屏连接dsp,触屏每次开机会发两个特殊的字符,这两个字符导致Rxerror置位。每次重新上电,dsp都会接收到,于是直接进不了接收中断。我现在的做法是,延时在外设初始化之前加延时,让dsp接收不到这两个字符。 我也试过Rxerror位为1,用swreset复位和重新初始化sci,但是都没成功进入接收中断。这和初始化的步骤应该有问题。不知该怎么处理Rxerror这种异常问题。 会做处理的同行,请指导一下!谢谢!