请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430G2553 工具/软件:Code Composer Studio
#include #define MA1 BIT0 #define MA2 BIT1 #define MB1 BIT2 #define MB2 BIT4 int main (void) { WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器 P2DIR &=~BIT1 + BIT2 + BIT3 + BIT4; //显式将 P2设为输入-即使默认情况下其输入 P2REN |= BIT1 + BIT2 + BIT3 + BIT4;//启用上拉/下拉 P2OUT |= BIT1 + BIT2 + BIT3 + BIT4;//选择下拉 P1DIR |= MA1 + MA2 + MB1 + MB2; while (1) { if (!(P2IN & BIT1))//转发 { P1OUT |= MA1 + MB1; P1OUT &=~MA2 + MB2; __DELAY_CYCLES (500); } 如果(!(P2IN 和 BIT2))//反向 { P1OUT |= MB2; P1OUT |= MA2; P1OUT &=~MA1 + MB1; __DELAY_CYCLES (500); } if (!(P2IN & BIT3))//右侧 { P1OUT |= MA1; P1OUT &=~MA2 + MB1; P1OUT &=~MB2; __DELAY_CYCLES (500); } if (!(P2IN & BIT4))//左侧 { P1OUT |= MB2; P1OUT &=~MA1 + MA2; P1OUT &=~MB1; __DELAY_CYCLES (500); } 其他 { P1OUT = 0x00; __DELAY_CYCLES (500); } } //return 0; }
这是我将其用于电机控制器的代码
但它无法正常工作。
MB2不工作、它在导通时仅在输出端提供0.2V 电压。 而其他2.1V
我尝试了很多东西、但它的功耗基本不变。
请给我一个合适的解决方案
谢谢你。