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.

[参考译文] 使用具有锁存代码的 SW1和 SW2来打开和关闭 gMotorVars.Flag_enableSys 和 gMotorVars.Flag_Run_Identify

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/566106/using-sw1-and-sw2-with-latching-code-to-turn-on-and-off-gmotorvars-flag_enablesys-and-gmotorvars-flag_run_identify

器件型号:DRV8301-69M-KIT

工具/软件:Code Composer Studio

大家好、


对于这个主题帖子、我并不是很熟悉 C 语言、所以我真的在寻找一些澄清
我已经按照 HAL 教程进行操作、让板上的电位器读取该值、然后将该值用于 IQ_ IQRef、以便它控制流向电机的电流。

我还在"Expressions Watch"窗口中读取 SW1和 SW2值。

这一切正常、但为了使电路板独立于我的笔记本电脑工作、我真的想使 SW1和 SW2锁存、以便当您按下按钮时、它保持该状态。 我可以在 Arduino 中执行此操作、在 Arduino 中、我学会了编码、但难以在 CCS 中实施。


此外、锁存后、我想让 SW1和 SW2打开和关闭 gMotorVars.Flag_Run_Identify 和 gMotorVars.Flag_enableSys。

如果能提供任何帮助,将不胜感激。

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

    您的帖子将移至 C2000论坛以获得更好的支持。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以使用 SW1和 SW2通过利用 GPIO 中断来执行此操作。 从原理图中可以看到、按钮按压操作会将 GPIO-7或 GPIO-9拉至 GND、因此为高电平转换编程中断应检测按钮按压操作、并且可以添加状态检查功能、以便在中断例程中"翻转"gMotorVars 变量。 您需要初始化中断并将例程添加到中断矢量表中;中断矢量表在 HAL_initIntVectorTable()中初始化。 请通过其中一个简单的实验、仔细检查初始化阶段、尤其是 ADC 中断初始化阶段、了解应如何设置 GPIO 中断。

    肖恩