请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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 模块的正确(和必要)方法吗?
提前感谢!