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.

[参考译文] TMS570LC4357:正交脉冲发生器

Guru**** 2425200 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1299418/tms570lc4357-quadrature-pulse-generator

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

SIR 现在我需要找到速度 ,在正交脉冲发生器提供 输入 到 引脚 epeqA 和 epeqB  ,如何 找到速度 什么 配置应该在 halcoGen 中 , 输入是 时间周期 20毫秒,频率是50赫兹 ,我附加我的代码, 对于这种 配置,我们应该怎样配置,你会帮我吗?  

#include "HL_sys_common.h"

/*用户代码开始(1)*/
#include "HL_sys_core.h"
#include "math.h"
#include "HL_sci.h"
#include "HL_eQEP.h"
#define UART sciREG1
#define clkfreq 75000000
#define PPR 30U
uint16 data_buffer [10];
void sciDisplayText (scibase_t * sci、uint16 *文本、uint32长度);
Uint16 eqepReadCapturePeriodLatch (eqepBASE-_t * eQEP);
uint32_t posCountValBef;
uint32_t posCountValAft;
uint16 deltaT = 0u;
Uint8 PI = 3;
UINT8 D=1;
uint8周长;
UINT8速度= 0;
uint16频率;
uint16 RPM = 0;
UINT16距离= 0;
UINT16速度= 0;
uint16周期;
UINT8方向;
UINT16状态;
uint16 time_period;
空等待(UINT32时间);
#定义索引10
/*用户代码结束*/

/**@fn void main (void)
*@简介应用程序主要功能
*@注意此功能默认为空。
*
*此函数在启动后调用。
*用户可以使用此函数来实施应用程序。
*/

/*用户代码开始(2)*/

/*用户代码结束*/

int main (空)
{
/*用户代码开始(3)*/
QEPInit ();
sciInit();
_enable_interrupt_();

/*启用位置计数器*/
eqepEnableCounter (eqepREG2);

/*启用单元定时器。 */
eqepEnableUnitTimer (eqepREG2);

/*启用捕获计时器和捕获周期锁存。 */
eqepEnableCapture (eqepREG2);
/*在索引事件之前读取位置计数器值*/
posCountValBe =(uint16) eqepReadPosnCompare (eqepREG2);
/*状态标志被设定以表示一个新值被锁存在 QCPRD 寄存器中。 */
if (((eqepREG2->QEPSTS & 0x80U)!= 0U)
{
周期= eqepREG2->QCPRDLAT;
deltaT = eqepREG2->QCPRD;
posCountValft =(uint16) eqepReadStatus (eqepREG2);
速度=(ppr / deltaT);
/*将周期寄存器中的值分配到周期变量中*/
圆周=(双)(D * pi );/*圆轮,将直径转换为计量表,然后使用*/
频率=(uint16)((1000000U)/(uint16)(time_period));/*将微秒转换为秒*/
RPM =(uint16)((频率* 60)/ PPR);/*乘以60可将秒转换为最小值*/
distance =(uint16)((周长* RPM)/60);/*除以60将 Min 转换为 Sec */
速度=(uint16)((RPM *周长*60)/1000);/*乘以60将最小值转换为小时、将1000除以 m 转换为 km */
/*在发生索引事件后读取位置计数器值*/

if (posCountValft > posCountValBef){
DIRECTION = 1;/*方向是向电*/
}其他{
Direction = 2;/*方向是反向*/

/*清除状态标志。 */
eqepREG2->QEPSTS |= 0x80U;

谢谢!  

耶瓦

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

    您好、Jeeva:

    您可以直接计算时间段、由此轻松计算频率(1/T)。 现在、您可以根据频率轻松计算出电机的转速或速度。

    速度=分钟的频率/(编码器线* 4)

    正如您在上面的示例中看到的、频率为400Hz、他们正确使用的是500线编码器电机、  

    速度= 400*60/(500*4)= 12转/分。

    因此、尝试以相同的方式进行计算。

    --
    谢谢。此致、
    Jagadish。

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

    好先生,我将共享我的 halcogen 配置以及代码也  在这不能上传文件,我该做什么,如果我单击插入选项,然后上传如果按,文件/URL 是  不 允许 像这个通知正在得到

    谢谢!  

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

    尊敬的 Sir I email u source file and halcogen 请您尽快发现这是我的要求 Sir

    谢谢!  

    耶瓦

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

    您好、Jeev、

    您可以通过私人聊天发送吗?

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

    e2e.ti.com/.../4048.HL_5F00_sys_5F00_main.ce2e.ti.com/.../quadrature.c.docx

    halcogen 先生文件不支持所以我做在 Word 文档,我已经发送

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

    只需尝试压缩整个项目并附加它?

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

    e2e.ti.com/.../Quadrature_5F00_pulse.zip

    其中、源文件 main.c 具有源代码和正交。 HCG   

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

    e2e.ti.com/.../3858.Quadrature_5F00_pulse.zip

    其中、源文件 main.c 具有源代码和正交。 HCG

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

    谢谢 Jeev、我将对其进行测试、并尽快为您提供更新。

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

    亲爱的 先生, 我有 代码 和 halcogen 通过两天前,你告诉  ,将测试和更新,但仍然没有更新 Get SIR ,由于  正交速度计算正交速度正  等待 SIR ,请  尽可能多的响应  .

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

    您好、Jeev、

    首先,道歉的延迟,我坚持其他一些重要的问题。

    我理解您为什么在调试中得到差值周期的不同结果。 这是因为我们不应该在调试中测量这些值、如果您设置了断点并尝试测量周期寄存器值、那么如果您保留了断点并运行了它、那么只有第一个值是正确的、然后在第二次迭代中您无法获得正确的值、 这是因为在断点处、输入正交脉冲不会停止、它们将继续运行 eQEP 模块、因此即使在断点处、周期寄存器值也会增加、 点击 run 后、一些随机值将位于周期寄存器中、并且将移动到周期寄存器中。

    我还创建了一个示例项目:

    1.在这个项目中、我使用 RTI 和 GIO 模块创建了50Hz 频率的正交波形、90度相移。 我所做的是将20ms (50Hz)周期分为四个部分、每个部分为5ms

    最初5ms 我要切换 GIOA0、第二次5ms 我要切换 GIOA1、第三次5ms 我要再次切换 GIOA0、第四次5ms 我要切换 GIOA1。 通过这种方法、我创建了50Hz 频率的正交波形和90度的相移。

    2.现在我把 GIOA0 (A5)和 GIOA1 (C2)上产生的正交波 分别连接到 EQEP2A (V2)和 EQEP2B (U1)。

    3.我也修改了代码,可以用微秒计算增量周期,然后再用 RPM 计算速度。

    4.在此之后、我进行了调试:

    在首次命中断点后、您可以看到以 RPM 为单位的 deltaT 的正确值和速度

    我得到的 deltaT 值为5000us、意思是5ms、这是因为正如我们讨论过的、我们施加20ms 正交波形、意思是 QCLK 将变为5ms、我们完全捕获了相同的周期。

    现在使用这个周期、我们可以使用给定的公式轻松计算出电机的 RPM。 此处 RPM 为3000、因为我将编码器线视为1、这意味着对于每个正交波形周期(QA 或 QB)、我将考虑电机旋转1圈。 这意味着当我们正在应用50Hz 的频率,因此50转每秒意味着每分钟的转数将变成3000转(50*60)。

    我附加的代码供您参考:

    e2e.ti.com/.../eQEP_5F00_TEST_5F00_LC4357.zip

    请记住、如果您在周期寄存器之后设置断点、那么只有第一次迭代您 将 获得 正确的值、 您可以执行一项操作、您可以删除断点并将其保留在持续运行模式中、并且可以突然设置断点、然后您可以再次获得正确的结果。

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的  SIR (1)如果 我 使用的   是128的捕获预分频器值      ,它会改变正交脉冲发生器提供的输入,  

    (2)然后 iam 正交脉冲发生器为 30 PPR , 所以 iam 使用 RPM=( 频率*60)PPR 的公式。  它 还可以  , sir beacuse 我没有编码器线, 分辨率.  先生,如果 我使用您的 公式   来计算 SPEED_RPM ,那么编码器的线和分辨率值将 相同或不同。

    感谢您的 答复  

    耶瓦

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

    您好、Jeev、

    (1)如果 我 使用捕获预分频器 值 128 会 改变 输入    正交脉冲发生器提供的能量, [/报价]

    捕获预分频器不会更改您提供的输入、如果您更改了捕获预分频器值、它将更改应用于捕获单元的捕获时钟、如下方突出显示所示。

    它不会更改输入正交脉冲、但它会影响测量的捕获周期、这就是为什么您也应该将此捕获预分频器值用于周期测量的原因、如下所示:

    (2)然后 iam 正交脉冲发生器为 30 PPR , 所以 iam 使用 RPM 的公式= (频率*60)PPR 。  它 还可以  , sir beacuse 我没有编码器线, 分辨率.  先生,如果 我使用您的 公式   来计算 SPEED_RPM ,那么编码器的行和分辨率值将 相同或不同。

    实际上、PPR 与 RPM 成反比。

    我的意思是公式如下。

    RPM =(频率* 60)/PPR

    请看、在上一个案例中、我们应用了50Hz 波形、我们得到 RPM 为3000、对吧? 在本例中、我将 PPR 视为1、这意味着每转1次脉冲。

    但考虑一下如果我们有两个旋转脉冲,这意味着我们每次旋转将得到两个脉冲,我们将在一分钟内得到总共3000 (50*60)个脉冲,这样我们的 RPM 将仅变为1500。

    另外、请注意、在我的代码中、我给出了一个名为"encoder_lines"的指令、对吧?

    此编码器只能进行 PPR 编码、您可以在此指令中给出所需的 PPM 以获得正确的 RPM。

    --
    谢谢。此致、
    Jagadish。

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

    亲爱的 SIR  执行   代码 和 halcogen 设置 什么 你发送, 但即使它 没有给予 正确的价值 一次也, 如果我给 输入设置 RPM 100  正交 发生器 实际上它应该  给  频率50 Hz 和  时间周期为微秒它应该得到2000 ,但它不是它给2222, 24448, 600 ,像这样的 值它给 50 RPM 它给 0 , 88, 5 相反 ,它应该得到4000, 如果我需要更改任何 halcogen 设置 SIR ,否则任何代码更改. 请 尽快告诉我先生  

    谢谢你,先生  

    耶瓦

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

    您好、Jeev、

    代码中无需更改。 你可以看到我的结果、50Hz 正交波形、这些波形由 RTI 模块内部生成、对吧?

    在此您可以看到理想值。 如果您正在使用 mu 代码但未获得正确的结果、则这应该是输入问题。

    或者、你只是将我的.c 代码复制到你的项目中、然后你还应该确保 HALCoGen 配置、我在那里做了很少的更改。

    请确保上述内容、然后确定它应该起作用。

    谢谢。此致、

    Jagadish。

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

    尊敬的 SIR   ,在控制器板中  ,我有 OIN GIOA_0引脚  ,但没有 GIOA_1,因此,   如果 状态条件 不 允许 进入 内部,请尝试使用 GIOA_2。 在这里我应该检查 UR 代码.  然后 halcogen 什么你  发送 同样的事情 只有 iam 使用,没有 我改变.  如果 正交脉冲发生器正  变得 完美,我通过 示波器检查也, 在给予控制器后   ,在驱动程序代码寄存器的值是不正确的,确保你会很快响应,它是我的要求 SIR

    谢谢。此致、

    耶瓦

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

       我附上了   控制器原理图,其中一个是使用的。  我  尝试  使用 引脚36 gioA_2 bt、而不是使用

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

    您好!

    使用 J4接头9和10引脚、如下所示。

    我仅从我的 LaunchPad 使用了这些引脚。 I 已 分别将 J4-9 (GIOA_1)和 J4-10 (GIOA_0)与 J10-22 (EQEP2B)和 J10-21 (EQEP2A)连接。 请尝试做同样的事情。

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的 SIR 在连接了 各自 的引脚 ,你说了上一线程,我得到 值在 deltaT (微秒)是 102,381,40425,44289,70097,58419 ,25,442 ,下89,700下一97,584一个    ,如果条件,我可以做只时间迭代,第二次如果尝试它不 允许内部如果条件,  在关闭 debug 后,如果 u 开始进行调试 ,则仅 允许我执行 if condition。 IAM 使用相同的 halcogen 设置和代码也,没有什么我改变.  请尽可能多地回复先生,

    谢谢!

    耶瓦

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

     "你怎么了?   

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

    您好、Jeev、

    我对你们的成绩很困惑。

    您真的在使用我的代码吗?

    您的测试过程或采用的代码可能有误!

    我做了一次屏幕录音(从下载代码到调试)、请按照相同的过程操作。

    e2e.ti.com/.../Screen_5F00_Record.mp4

    --
    谢谢。此致、
    Jagadish。

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

    亲爱的先生, 现在 它得到5000 deltaT 和3000速度,同时保持 断点, 我需要误判, iam sry 先生,   

    但 相同的代码         ,而不是 Gio 和 RTI iam 提供输入从正交    脉冲发生器到 epeq2A 和 eq2B ,通过设置 RPM=100和给出产生的脉冲,频率应得到50 Hz , 时间周期"deltaT" 是 2000应该得到微秒 ,而不是 iam 得到5555, 3367, 590,像 这个值是 gettiing , halcogen 和代码相同 iam 使用 什么你 建议,除了 Gio 和 RTI 位置.  如果 需要我发送屏幕记录也,请让我做了什么误 回复 尽快 possible ,

    谢谢!

    耶瓦

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

    尊敬的先生         ,我将附加两个视频文件一个是 haalcogen 和另一个是代码和调试部分,请快速回复它 我谦卑的请求  

    谢谢!

    jeevae2e.ti.com/.../Screen-Recording-_2D00_-Made-with-FlexClip-_2800_1_2900_.zip  SIR  在此 我已经 把 RPM 设置 为 100 并 给了 脉冲到引脚 eqep2A 和 eqep2B , 实际上  我应该得到 2000微秒的时间     ,而不是得到错误的值在调试时,请 响应快速 sit ,

    谢谢!

    耶瓦

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

    亲爱的 sry 为 dissance, 直到现在 没有回复我从  我们。请 菲伊德 价值  ,并给 我  它.   正确  值  

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

    您好、Jeev、

    但是 相同的代码 而不是 Gio 和 RTI iam 将  正交脉冲 发生器  的输入提供给 epeq2A 和 eq2B , 通过设置 RPM = 100 并 给出生成的脉冲,频率应达到50 Hz , 时间周期"deltaT"  应该得到微秒,而不是 iam 得到5555, 3367, 590,[/报价]

    如果应用正交脉冲50Hz 信号、则也只能获得5000延迟。

    实际上、对于50Hz 信号、时间段等于20ms、但随着分辨率将增加4倍、我们应仅获得5ms 值、即5000 deltaT。

    在您的结果中、第一个值5555更接近5000、只有我的意思是它看起来是正确的、实际上这取决于输入的精度。 如果您的输入是准确的、那么您应该恰好得到5000、就像我们在 RTI 情况下得到的那样。 我还建议您确保我们的 TMS570板和您的脉冲发生器之间有一个公共接地。

    并且请不要进行分步调试、也不要考虑这些值。 请再次观看 我分享的屏幕录制视频、您可以验证我如何验证第二次迭代值(删除断点、使其保持连续运行、并在运行时设置断点)。

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

    Sir 我     做了调试  ,你做了视频, 你发送,我的例外值   是200 RPM 频率  100 Hz  意味着时间周期 应该得到10毫秒,如果 它的4时间也是 40000微秒 在 deltaT , 而是 得到一些不同的东西,我将附加的 调试视频  

    谢谢!

    jeevae2e.ti.com/.../Screen-Recording-_2D00_-Made-with-FlexClip-_2800_2_2900_.zip

    这 一个 澄清 足够我,回复快速先生,今天我需要报告  这个项目  

    谢谢!

    耶瓦

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

    您好、Jeev、

    我看到了您的视频、您没有像我提到的那样做。

    先生 我 确实 调试了  你 是如何 在视频中 发送的, 我的例外值 是 200 RPM     的频率是100 Hz 意味着时间周期 应该得到10毫秒,如果 它的4次也是 40000微秒 在 deltaT

    您的预期 deltaT 也错误、100Hz 频率不会获得40000值。

    请参阅"首先了解什么是 deltaT"

    deltaT 是两个 QCLK 脉冲之间的时间周期。

    如果应用100Hz 正交脉冲、则请计算 QCLK 周期、它只是2.5ms。 因此、在本例中、deltaT 值将仅变为2500。 我可以看到您的第一个值是2757、它更接近2500。 但您仍然没有按照我提到的那样进行调试、您只是将断点保留在一个位置、并且正在运行、那么您将无法获得正确的值。 您没有观看我正确分享的屏幕录制内容。

    如果您仍然有混淆、让我们计划明天一个现场调试会话、我将在其中进行说明。 请共享您的会议 ID。

    --
    谢谢。此致、
    Jagadish。

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

    一旦我将尝试先生,即使 我 混淆了 意味着  你应该 现场调试,我们将使它先生,非常感谢你的支持先生,  

    谢谢!

    耶瓦

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

    亲爱的先生, 我已经   从正交 脉冲发生器读 了一些正交脉冲发生器 ,我将分享 u Sir ,但没有得到准确的值,经过共同接地,一些 是多么接近该值, 如何 我需要 找到距离 和 方向 如何使距离我将公式 D =圆周* RPM (没有旋转),查找方向 iam 尝试使用 状态寄存器的某个时间它给出了正确的值一些时间错误 。 请帮 我,先生,   

    谢谢!

    jeevae2e.ti.com/.../SPEED-SENSOR-RPM-COMPARISIONS .xlsx

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

    您好、Jeev、

    我   从正交 脉冲发生器读 了一些正交脉冲发生器 ,Excel 工作表我将共享您的 SIR,但 没有得到准确的值

    这仅取决于 eQEP 模块的输入波形的精度。 当我们应用来自 RTI 模块的波形时、您看到了结果。 如果您的输入是准确的、那么您将获得准确的结果。

     我需要    如何找到距离和方向应该怎么做的距离我将公式 D =周长* RPM (没有旋转),对于查找方向 iam 尝试使用 状态寄存器一段时间它给了正确的值一些时间错误 [/报价]

    我想您不应该 在 速度测量中考虑施加的 RPM。

    我又添加了一列、称为"Measured RPM"、这是根据 deltaT 的实际值计算的、我在速度测量中使用了这个 RPM。

    您将从 QEPSTS[QDF]位获得方向。

    e2e.ti.com/.../1856.SPEED-SENSOR-RPM-COMPARISIONS.xlsx

    --

    谢谢。此致、
    Jagadish。

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

    用于 指示 iAM 状态寄存器  

    const uint8_t QDF = 0;//假设 QDF 是 QEPSTS 寄存器中的位标志

    if (eqepREG2->QEPSTS &(1 << QDF))
    {
    uint8_t Direction = 1;/*正向*/

    否则
    {
    uint8_t Direction = 2;/*反向*/

    /*清除状态标志。 */
    eqepREG2->QEPSTS |= 0x80U;

    但 逻辑 是 好的 SIR ,但 只得到一个 寄存器它 不 改变 SIR 如果  交换 epe2A eep2B   

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

    距离=周长*测量的转速( 它 在右侧或  SIR 错误时)

    谢谢!

    耶瓦

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

    您好、Jeev、

    const uint8_t QDF = 0;//假设 QDF 是 QEPSTS 寄存器中的位标志

    if (eqepREG2->QEPSTS &(1 << QDF))

    [/报价]

    为什么要验证 QEPSTS 寄存器中针对 QDF 标志的第0th 位?

    它是第5位、对吧?

    请按如下方式修改您的代码:

    if (eqepREG2->QEPSTS &(1<<5))
    {
    uint8_t Direction = 1;/*正向*/

    否则
    {
    uint8_t Direction = 2;/*反向*/

    /*清除状态标志。 */
    eqepREG2->QEPSTS |= 0x80U;

    使用上述代码并进行测试。

    距离=周长*测量的 RPM  向右或 错误的 SIR

    好的。

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的 先生       ,在 iam 测试后,也得到相同的输出, 即使 更改 引脚也 默认    只有经过 修改后才得到1 ,我共享   调试的屏幕截图

    谢谢!

    耶瓦

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

     没有回复的先生,

    谢谢!

    耶瓦

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

    您好、Jeeva:

    我在结束时进行了测试、而且测试工作正常:

    在反转 eQEP 引脚(正向)之前:

    在反转 eQEP 引脚之后(反向):

    除了方向代码、我没有向我的旧代码中添加任何其他更改:

    e2e.ti.com/.../4353.eQEP_5F00_TEST_5F00_LC4357.zip

    --
    谢谢。此致、
    Jagadish。

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

     非常感谢你爵士 它得到,因为  你 只有 SIR 我能够 完成这个项目. 感谢您的 大力支持,

    谢谢!

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

    您好、Jeev、

    我很乐意为您提供帮助。 很高兴听到你做到了。

    对于所有正交问题、请单击"已解决"按钮。

    --
    谢谢。此致、
    Jagadish。