你好
我想检查 msp430f417卡上 GPIO 引脚的低电平/高电平状态。
但我收到错误"Error [Pe020]:identifier" P6REN "is undefined"。
我使用的卡上是否不支持 PxREN?
如果没有,你能给我一个建议吗?
我还可以如何检查低电平/高电平状态?
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卡上 GPIO 引脚的低电平/高电平状态。
但我收到错误"Error [Pe020]:identifier" P6REN "is undefined"。
我使用的卡上是否不支持 PxREN?
如果没有,你能给我一个建议吗?
我还可以如何检查低电平/高电平状态?
以下是我的代码:
#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 输入状态。 请参阅此相关主题:
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 (始终)是输入、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 }