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.上。
Green Deng:
你好,
1、请问你是用自己编写的程序测试的还是用TI例程测试的?我有印象用例程测试的时候修改发送波特率,再改回来之后芯片是能正常接收的。
2、这个问题确实没有确定是否解决了,E2E上给出的解释是:如果芯片在看门狗复位的时候是连接着仿真器的,则有可能出现CPU 停在 BOOTROM 代码中的情况。并且由于此时没有为 BOOTROM 加载symbol,CCS 会发出警告。有用户的解决方案是在预定义里面添加_FLASH的预定义,但是也没有明确是什么因果关系。
,
Huit:
1、我是使用自己写的串口程序使用的,在28069已经使用了5年多了。说的是上位机给目标板芯片发数据,上位机的波特率设置和目标板芯片的不一致,会把芯片接收给发死,不能接收数据了。比如上位机的波特率是9600,目标板芯片设置的是115200,给目标板发数据,目标板芯片接收就死机了,必须重启串口才能接收。因为使用网络模块配置时,上位机存在更改波特率使用的情况。
2、断开仿真器查看后,看门狗溢出后,芯片能重启复位,这个应该是没问题的。