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.

[参考译文] TMS320F2.8377万D-EP:一种方法'while ' driverlib ccan.c中的转义条件

Guru**** 2589280 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1089672/tms320f28377d-ep-a-method-while-escape-condition-in-driverlib-can-c

部件号:TMS320F2.8377万D-EP

你好

我对使用CAN示例代码有疑问。

* F2837xD_common \ driverlib \ can.c.

 - TI版本:F2837xD支持库V210

 发布日期:11月 1日星期二14:46:15 CDT 2016

在CAN.c中,While条件语句被写入为无限循环,如下所示。

在这方面,我想知道如果不满足while有条件的转义条件,是否不可能逃脱。

例如,我想知道是否还有其他条件,例如在一段时间后,你可以走出while门。

-------- 同时 ----------------------------------

 //等待忙位清除
While (HWREGH (ui32Base + CAN_O_IF1CMD)& CAN_IF1CMD_BUSY)

}

//等待忙位清除
While (HWREGH (ui32Base + CAN_O_IF1CMD)& CAN_IF1CMD_BUSY)

}

//等待忙位清除
While (HWREGH (ui32Base + CAN_O_IF2CMD)& CAN_IF2CMD_BUSY)

}

//等待忙位清除。
While (HWREGH (ui32Base + CAN_O_IF1CMD)& CAN_IF1CMD_BUSY)

}

等等...  

*请 理解  ,我 使用  了翻译。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不知道如果条件退出条件不满足,是否不能逃脱。

    正确,如果占线卡在1,则无法退出此循环。

    2.8377万driverlib-c"]我不知道是否还有其他条件,例如,您可以在特定时间后离开。

    这不是目前编写Driverlib的方式。 您可以采取的一种方法是在软件计数器为0时加入一个"For (用于)"循环并从循环中断开。

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

    感谢您的回复。
    我还有其他问题。

    我试图在'同时'设置一个逃生条件。

    是否可以修改以上F2837xD_common\driverlib\can.c示例代码?

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

    我无法修改已发布的Driverlib代码。 也许您可以尝试以下类似方法:(您需要根据应用程序需求确定延迟值)

    对于(i=0;i<delay_count;i++)

                  {

                                    IF((HWREGH(BASE + CAN_O_IF1CMD)& CAN_IF1CMD_BUSY_)!= CAN_IF1CMD_BUSY_{BREAK;}

                   }

                 中断;