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.

[参考译文] Starterware/STARTERWARE-Sitara:eQEP 模块问题

Guru**** 2589265 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/588871/starterware-starterware-sitara-eqep-module-problem

器件型号:STARTERWARE-Sitara

工具/软件:Starterware

大家好、

我正在尝试为 BeagleBone White 设置 eQEP 驱动程序。 我认为我已经启用了所需的电源和时钟域。
我下一步是将所需的值传递给相应的寄存器(使用以下代码段)。

HWREG (SOC_eQEP_1_regs+eQEP_QPOSCNT)= 0x00000000;
HWREG (SOC_eQEP_1_regs+eQEP_QPOSIINIT)= 0x000A;
HWREG (SOC_eQEP_1_regs+eQEP_QPOSMAX)= 0x000A;HWREG (SOC_eQEP_eQEP_0800_eQEP_eQEP_1+QEP_eQEP_eQEP_eQEP_eQEP_eQREG1+0800_0800_eQEP_1+QEP_eQEP_eQEP_eQEP_eQEP_eQEP_eQ


HWREG (SOC_eQEP_1_regs+eQEP_QEINT)= 0x0000;
HWREG (SOC_eQEP_1_regs+eQEP_QLG)= 0x0000;
HWREG (SOC_eQEP_1_regs+eQEP_QCLR)= 0x0000; 

嗯、除了代码达到 eQEP_QEPCTL 寄存器的值之外、一切看起来都是按需要工作的...
我的意思是程序似乎停留在那里、无法继续并将其他值传递到其他寄存器。
如果我注释掉有关 QEPCTL 寄存器的行、但保留有关 QEINT 和 QFLG 寄存器的行、则会发生同样的情况。
我猜是 eQEP 模块未正确初始化、或者我给这些寄存器的值是不可接受的(但我尝试了其他具有相同结果的值)。

那么、有人可以帮助或指出初始化 eQEP 模块的正确(和必要)方法吗?

提前感谢!

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

    您使用的是什么软件/版本?

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

    我想您是指什么版本的 Starterware、对吧?
    它是 Starterware 2.00.01.01

    谢谢

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

    嗯、我发现了导致问题的原因...

    16位寄存器(如 QEPCTL、在该寄存器中我的程序似乎崩溃)应使用 HWREGH 函数而不是 HWREG...

    非常感谢您的关注。