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.

[参考译文] TMS320F28379D:串行数据发送或接收后、程序暂停。

Guru**** 2553260 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1336702/tms320f28379d-program-is-halted-after-serial-data-sending-or-receiving

器件型号:TMS320F28379D

我在开发 C++编译器中制作了一个结构程序 、代码正常工作。 之后我 在 CCS 中使用了相同的代码并进行了轻微修改。 调试部分并运行代码后、程序暂停并显示非法中断。

以下代码供参考。

typedef 结构{
char 子字符串[MAX_SUBSTRING][MAX_SUBSTRING_LENGTH];//存储子字符串的数组
int count;//子字符串计数
int lastSubstringFlag;//指示最后一个子字符串的类型的 Flag
char lastSubstringPart1[MAX_SUBSTRING_LENGTH];//最后一个子字符串的第一部分
char lastSubstringPart2[MAX_SUBSTRING_LENGTH];//最后一个子字符串的第二部分
int lastSubstringPart2IsNumber;//指示第二部分是否为数字的标志
char lastSubstringPart2String[MAX_SUBSTRING_LENGTH];//如果不是数字,则第二部分作为字符串
int lastSubstringPart2Number;//第二部分作为编号(如果适用)
} ControlData;

ControlData 字符串;

ControlData 存储器 ubstring (char* inputString);

ControlData processString (char* inputString)
{
// ControlData 字符串;
sprintf (Reply_String,"分号后的字符串标记:%s\n",输入字符串);
printMsg (Reply_String);
string.count=0;
返回字符串;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我有一些问题可以帮助缩小问题范围:

    • 代码构建是否没有任何错误或警告?
    • 您能否尝试单步执行代码以尝试隔离发生确切错误的位置?
    • 您 是否验证过 driverlib 中没有失效的生效条件?
    • 根据您的代码、看起来您有一些数组、这些数组是否在任何时候被超出范围索引?
    • 代码是从 RAM 执行还是从闪存执行? 如果在闪存中、您是否尝试过从 RAM 执行代码?