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.

[参考译文] EVM430-FR6043:用于生成高电平脉冲的 XPBO 引脚。

Guru**** 2553260 points
Other Parts Discussed in Thread: MSP430FR6043

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/812973/evm430-fr6043-xpbo-pin-for-generating-a-high-pulse

器件型号:EVM430-FR6043
主题中讨论的其他器件:MSP430FR6043

您好!

这是前一个问题的后续问题。

我需要生成一个脉冲信号、该脉冲信号的宽度等于 MSP430FR6043的 Channel_0 OUT 引脚输出端生成的脉冲总数。 为了 更好地理解、需要生成的信号如下所示。 下面您可以看到在输出(黄色)和(红色)脉冲信号上生成的4个脉冲、这些脉冲信号需要在 XPBO 引脚上生成、而 XPBO 引脚可在电流评估板中自由使用。

然后、我尝试改变 RExN 引脚以适应脉冲、但这是不可能的。 然后、我决定使用当前程序中未使用的 XPBO 引脚、即 P7.0引脚。 在 Google 的帮助下、我编写了一个小程序、将 P7.0引脚设为高电平、然后再次设为低电平、这里的重点是找到放置该程序的完美循环、以便我获得所需的信号(红色)。

我尝试了几个循环、结果如下所示。

我得到了涵盖脉冲上游和下游的脉冲信号。  

我的问题:

在哪里可以找到放置程序的完美环路、在哪里可以生成所需的脉冲信号、如上所示。

谢谢你

BR

Jadhav

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

    Jadhav、您好!

    由于这些函数中的许多都是自动实现的、因此它会更加复杂一些。  请参阅下面的备注。

    在何处将 GPIO 设置为高电平:   

    请参阅下面的图片和我的笔记。  为了正确计时、如果使用设置为3的 ULP 偏置延迟、则可能需要在将引脚设置为高电平之前添加300us 延迟。  3是默认设置。

     在何处将 GPIO 设置为低电平:


    请参见下图。  请确保您还将注释掉 USSSWLIB_SAPH_PNGDN_CALLBACK 并将其替换为代码以将 GPIO 设置为低电平。

     

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

    您好、Eddie、

    感谢你的答复。

    我使用 XPBO 引脚、即端口7.0引脚来生成脉冲信号。 我将使用基本的 HIGH 和 LOW 命令、如下所示:

    P7OUT= P7OUT | 0x0001; //将端口7.0设为高电平。

    P7OUT= P7OUT & 0x00FE;//将端口7.0设为低电平。

    在您告知的程序更改之后。 我使 XPBO 引脚永远处于高电平。

    我按如下方式使用了 delay 命令:

    __DELAY_CYCLES (3);//引脚处于高电平之前的延迟。

    我出了什么问题。 您能否检查电路板并向我展示输出?

    谢谢你。

    BR

    Jadhav

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

    您好、Eddie、

    请按照以下答复操作

    谢谢你。

    BR

    Jadhav

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

    您好、Eddie、

    我想更新这个主题。 我已成功生成所需的信号。 我想指出3件事。

    1 -我使用了延迟命令来生成信号。 这样、我就可以自由地通过更改延迟值来改变信号的脉冲宽度。

    2.我使用了以下代码:

    _DELAY_CYCLES (3150);        //延迟以匹配 TX 脉冲启动。

    P7OUT= P7OUT | 0x0001;   // GPIO 高电平。

    _DELAY_CYCLES (630);         //__delay_cycles ("信号宽度")。

    P7OUT= P7OUT & 0x00FE;  // GPIO 低电平。

    使用此逻辑、我具有所需的信号、但我有2个问题。  

    -第一:生成的信号具有高抖动。 (建议解决方案)

    -第二步:电路板电源复位时、脉冲信号的位置发生变化、因此必须重新刷写程序并再次运行。 (建议解决方案)

    上述延迟命令使用哪个时钟。  

    谢谢你

    BR

    Jadhav