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.

[参考译文] MSP430F417:ERROR[Pe020]:标识符"P6REN"未定义

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/995429/msp430f417-error-pe020-identifier-p6ren-is-undefined

器件型号:MSP430F417

你好
我想检查 msp430f417卡上 GPIO 引脚的低电平/高电平状态。
但我收到错误"Error [Pe020]:identifier" P6REN "is undefined"。
我使用的卡上是否不支持 PxREN?
如果没有,你能给我一个建议吗?

我还可以如何检查低电平/高电平状态?

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

    数据表(SLAS340J)"外设文件映射"[p.19]和 P6原理图[p.46]表明没有 REN 电阻器、因此没有 P6REN 寄存器。

    要查看引脚的当前状态、请读取 P6IN。

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

    以下是我的代码:

    #include "msp430.h"

    void main (void){

    WDTCTL = WDTPW + WDTHOLD;

    P6DIR |= BIT4;  
    // P6SEL &=~BIT4;  
    // P6OUT |= BIT4;  

    while (1){

    if (((P6IN & BIT4)==1){     //P6.4引脚高电平
    P6OUT |=BIT4;         /电机 驱动器
    _DELAY_CYCLES (1000);  //等待


    否则{                
    P6OUT ^= BIT4;        //电机停止
    _DELAY_CYCLES (6000);  //等待


    我在这里要做的是、当步进电机短路时停止。
    我看到步进电机短路。
    但它不会停止。
    你能告诉我我的错误吗?

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

    您好 Sedanur、

    此器件不支持可切换的 GPIO 输入状态。  请参阅此相关主题:

    https://e2e.ti.com/support/microcontrollers/msp430/f/msp-low-power-microcontroller-forum/882448/msp430f417-gpio-default-status

    BR、
    Leo

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

    if (((P6IN & BIT4)==1){     //P6.4引脚高电平

    此测试永远不会为真、因为结果将为=0或=BIT4 (0x10)。 尝试:

    if (((P6IN & BIT4)!=0){     //P6.4引脚高电平

    --------

    也就是说、由于您已将 P6.4设置为输出、因此其 P6IN 状态通常与其 P6OUT 设置相同。 如果您尝试检测到总线冲突(两端驱动不同电平)、则可能无法成功(并且可能损坏引脚)。

    什么连接到 P6.4? 您是否有可以发布的原理图?

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

    抱歉、我无法发送架构。
    但有一个分压器电路以及步进电机

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

    P6.4在什么位置适合分压器-高侧或 Vout? 它连接到什么步进引脚?

    在没有 REN 电阻器的情况下、引脚在逻辑上是输入或输出、因此我不确定该代码的作用是什么。

    可以在输入和输出(P6DIR)之间动态切换、以探测线的状态。 这是一个不同寻常的(有点复杂)应用,但有时它很有用--你需要根据你拥有的电路来决定它。

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

    我没有卡的硬件项目。
    如果我要向您介绍:
    步进电机的 VCC 连接到 P6.5。
    P6.4、在连接到 STEP 电机信号引脚的信号引脚的路上、有一个晶体管、后跟10k 和1k 电阻器。
    1k 电阻器连接到 VCC。
    10k 电阻连接到 GND。
    他们希望我做的是、当步进电机降至0时停止电机。

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

    好的、您似乎希望 P6.4 (始终)是输入、P6.5 (始终)是输出、其内容如下:

    if ((P6IN & BIT4) != 0){ //P6.4 pin high so OK
       P6OUT |=  BIT5;       //motor driver on
    }
    else {                   // P6.4 low means Overvoltage
       P6OUT &= ~BIT5;       //motor stop
    }