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.

TMS320F280021: 串口接收中断中,如果波特率不正确,会导致串口无法进入接收中断。

Part Number: TMS320F280021

dear all 

在使用280021中,如果程序串口的波特率设置为115200,使用串口调试助手波特率也设置115200,串口可以正常中断接收数据,

如果把串口调试助手波特率设置为其他如9600等,用串口调试助手发数据后,再把串口助手的波特率改回115200,用串口助手发送数据,

这时280021串口接收中断异常,无法进入接收中断。原来在使用28069时,也是同样的问题。28069我是会在程序中检测串口接收错误标志

是否为1,SciaRegs.SCIRXST.bit.FE==1   SciaRegs.SCIRXST.bit.RXERROR==1  。如果异常为1,程序就进入死循环,最后看门狗溢出,

复位后芯片重启这样产品还能正常使用。但是用280021时,也是同样的设置,芯片溢出后,不能重启,

程序跑到“”Break at address "0x3f4751" with no debug information available, or outside of program code.“

不运行了,我看论坛4个月前也是有人发出同样的问题,好像后面也没解决。

我现在是想要解决两个事情:

1、280021   28069  给芯片发送的数据波特率不对的数据后,导致芯片后面无法正常进入中断,必须靠复位和重启。

2、280021  看门狗溢出后,芯片不会重启复位,停止地址Break at address "0x3f4751" with no debug information available, or outside of program code.上。

  • 你好,

    1、请问你是用自己编写的程序测试的还是用TI例程测试的?我有印象用例程测试的时候修改发送波特率,再改回来之后芯片是能正常接收的。

    2、这个问题确实没有确定是否解决了,E2E上给出的解释是:如果芯片在看门狗复位的时候是连接着仿真器的,则有可能出现CPU 停在 BOOTROM 代码中的情况。并且由于此时没有为 BOOTROM 加载symbol,CCS 会发出警告。有用户的解决方案是在预定义里面添加_FLASH的预定义,但是也没有明确是什么因果关系。

  • 1、我是使用自己写的串口程序使用的,在28069已经使用了5年多了。说的是上位机给目标板芯片发数据,上位机的波特率设置和目标板芯片的不一致,会把芯片接收给发死,不能接收数据了。比如上位机的波特率是9600,目标板芯片设置的是115200,给目标板发数据,目标板芯片接收就死机了,必须重启串口才能接收。因为使用网络模块配置时,上位机存在更改波特率使用的情况。

    2、断开仿真器查看后,看门狗溢出后,芯片能重启复位,这个应该是没问题的。