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.

[参考译文] TMS570LS3137:TMS570LS3137

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1409497/tms570ls3137-tms570ls3137

器件型号:TMS570LS3137

工具与软件:

您好、我尝试从下面的引脚0读取 PWM、我写入了代码、无法更新读取变量中的数据。 我需要添加的任何内容是否是正确的方法。 请解决我的疑问。

我们希望更快的响应。 谢谢  

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

L06  ECNT{next=L07、reqnum=2、request=GENREQ、pin=0、event=rise、reg=B、data=2000};
L07  MOV32{REMOTE=L06、TYPE=IMTOREG&REM、reg=B、hr_data=init_HR_delay};
;循环
L07  BR{next=L00、con_addr=L00、event=NOCOND}

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

SAMPLE_SIZE = 1;

 htuRAM1 ->DCP[2].ITCOUNT = 0x00010000 + SAMPLE_SIZE;

htuRAM1 ->DCP[2].IHADDRCT =(htuRAM1 ->DCP[2].IHADDRCT & 0x0)|
      0x0 << 23 |// DIR
      0x0 << 22 |// size
      0x0 << 21 |// ADDMH
      0x0 << 20 |// ADDFM
      0x0 << 18 |// TMBA
      0x1 << 16 |// TMBB
      0x78 << 0; // IHADDR

 

htuRAM1 ->DCP[2].IFADDRB =(unsigned int)&HET_READ_DATA;

 

htuREG1 -> CPENA = 0x00000025;//3 Request im using so i enable  

 

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

    尊敬的 Suguresh:

    首先、我不明白您是如何使用以下代码读取 PWM 的、我认为此代码有一些问题。

    Unknown 说:
    L06  ECNT{next=L07、reqnum=2、request=GENREQ、pin=0、event=rise、reg=B、data=2000};
    L07  MOV32{REMOTE=L06、TYPE=IMTOREG&REM、reg=B、hr_data=init_HR_delay};
    ;循环
    L07  BR{next=L00、cond_addr=L00、event=NOCOND}[/QUOT]

    让我来解释一下指示:

    Unknown 说:
    L06  ECNT{next=L07、reqnum=2、request=GENREQ、pin=0、event=rise、reg=B、data=2000};

    根据我的理解、该 ECNT 指令用于对引脚0上的上升沿脉冲进行计数、并且该指令将计数的脉冲存储到寄存器 B 和数据值中。

    因此、每当事件发生时、首先它都会复制 立即数据字段值+1 寄存器中、然后它还将立即使数据值递增1。 我不知道您为什么将初始数据值保持为2000、可能每个上升沿都会从2000递增。

    Unknown 说:
    L07  MOV32{remote=L06、type=IMTOREG&REM、reg=B、hr_data=init_HR_delay};

    现在、使用该 MOV32指令、您要将远程指令的数据和寄存器值替换为该指令的直接数据。

    这样做的目的是什么、它将取代 L06的脉冲计数指令。 那么、脉冲计数可能会变为零、对吧?

    请向我解释此代码、以便我可以更好地建议您。

    ——
    谢谢、此致、
    Jagadish。

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

    大家好、首先我将从2000年递增计数器值、以便我尝试使用 DCP 请求读取变量数据。 我的主要用途是尝试捕获脉冲周期。因此、我建议使用某种方法来读取 C 代码中的数据。

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

    尊敬的 Suguresh:

    请参阅以下主题中随附的捕获示例:

    (+) TMS570LS3137:PWM 捕获代码运行不正常-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    在这里、我使用 HET IDE 生成了捕获代码以提高分辨率。 请参考并根据此图进行创建。

    ——
    谢谢、此致、
    Jagadish。

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

    您提供的是通过 HTU 读取的直接方法、我需要使用 DCP 请求读取数据、并且该变量将在 HTU 存储器中更新。

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

    尊敬的 Suguresh:

    您提供的是通过 HTU 读取我需要的直接方法我需要使用 DCP 请求读取数据、并在 HTU 内存中更新该变量。

    要理解、但是我希望你将 上述代码用作 PWM 捕获的参考。 除此之外、您还可以创建 HTU 传输。

    从你的角度尝试、如果不可能、我将尝试为你创建一个示例。

    ——
    谢谢、此致、
    Jagadish。