主题中讨论的其他器件:LAUNCHXL-F28379D、 DRV8301、 DRV8305
工具/软件:Code Composer Studio
大家好、我看到开关和用例语句有非常奇怪的行为、我在为 CAN 总线配置代码编写一些函数、当我尝试使用开关时-如果它不起作用、代码运行异常、不切换到正确的用例。 然后、我决定测试 switch case 语句、将几个 case 和简单的变量增量作为任务、但它不起作用:如果 switch case 语句是无限循环 、它有时甚至不会进入循环、否则它只能连续执行(case 0:)。
然后我尝试像这样硬编码:
开关(0)
{…
}
编译->运行
开关(1)
{…
}
编译->运行
这样做会选择正确的情况、但这样、switch case 语句是无用的。
我将使用 launchpad XL f28069M
我在 instaspin proj_lab01上编写 CAN 总线代码、除 switch case 语句外、一切都正常
也尝试了 proj_lab01b、但 switch case 语句的行为相同。
然后、我认为我可能是 Code Composer Studio 和的一些问题
然后、我在 LAUNCHXL-F28379D 上尝试了相同的代码、一切都正常... 因此问题发生在 f28069M 上
/*开始传输*/ int counter=0; int loopcount=0; for (;;) { switch (计数器) { 情况0: loopcount+=0; 中断; 案例1: loopcount+=1; 中断; 案例2: loopcount+=2; 中断; 案例3: loopcount+=3; 中断; 案例4: loopcount+=4; 中断; 默认值: loopcount+=5; 中断; } counter+=1; }
谢谢大家