- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正在做一个学校项目,我陷入了最后一段代码。假设 S1 被按下并且红色 LED 亮起。如果同时按下 S2,绿色 LED 保持熄灭,红色 LED 继续亮起。该状态一直持续到 S1 被释放为止。现在,S2 有机会打开绿色 LED。同样,如果在绿色 LED 亮起时按住 S2,则按下 S1 时将被忽略,直到释放 S2。
我目前陷入了无限循环。我无法让我的代码按照上一段所述进行操作。一旦 BUT1 和 BUT2 都被按下,绿色和红色 LED 灯就会关闭。
#include <msp430fr6989.h>
#define redLED BIT0 // Red LED at P1.0
#define greenLED BIT7 // Green LED at P9.7
#define BUT1 BIT1 // Button S1 at P1.1
#define BUT2 BIT2 // Button S2 at P1.2
void main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop the Watchdog timer
PM5CTL0 &= ~LOCKLPM5; // Enable the GPIO pins
// Configure and initialize LEDs
P1DIR |= redLED; // Direct pin as output
P9DIR |= greenLED; // Direct pin as output
P1OUT &= ~redLED; // Turn LED Off
P9OUT &= ~greenLED; // Turn LED Off
// Configure buttons1
P1DIR &= ~(BUT1 | BUT2); // Direct pin as input
P1REN |= (BUT1 | BUT2); // Enable built-in resistor
P1OUT |= (BUT1 | BUT2); // Set resistor as pull-up
// Polling the button in an infinite loop
for(;;) {
if((P1IN & (BUT1|BUT2))==BUT2){
P1OUT |= redLED; // Turn red LED on
}
if((P1IN & (BUT1|BUT2))==BUT1){
P9OUT |= greenLED; // Turn green LED on
}
if (P1IN & (BUT1 | BUT2) == (BUT1|BUT2))
P1OUT &= ~redLED;
P9OUT &= ~greenLED;
}
}
最佳答案
你的方括号和大括号有点不一致。在最后一部分尝试这个:
if ((P1IN & (BUT1 | BUT2)) == (BUT1|BUT2)) {
P1OUT &= ~redLED;
P9OUT &= ~greenLED;
}
请注意 P1IN & (BUT1 | BUT2)
周围的括号,以便首先对其求值。两条线周围的大括号也没有,因此它们都取决于条件,而不仅仅是第一行。本质上它现在与您的前两个匹配。
关于c - MSP430FR6989 按钮和 LED 切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54372866/
嘿,我 wounderd 如果有什么。我可以继续阅读以改进此代码的突击队吗?至少它现在可以工作,但需要做一些微调:) 如您所见,代码非常困惑且难以阅读。希望有人能帮忙。 提前谢谢。 int potPi
我使用 AVR 作为微 Controller ,ATMEGA8 作为处理器(在微 Controller 内部)。带有微 Controller 的电路板有 4 个 LED。我能够刻录程序并点亮 LEDS
谁能解释一下两者之间的关系 LED 像素密度, LED像素高度和宽度 , 和 分辨率在创建模拟器时方法很详细。。并在启动时再次默认值:皮肤尺寸、密度;缩放密度以实现大小? 最佳答案 像素密度:每英寸像
我有一个由大小为 64*64 的 LED 组成的阵列。每个 LED 都可以点亮各种颜色,并且可以非常快速地改变颜色。我的最终目标是:对于网络摄像头接收到的每一帧,我希望能够从帧中“提取”LED 数组,
我正在使用 Arduino Uno 软件进行编码,但遇到了问题。我试图以随机顺序打开 8 个 LED,然后立即将它们全部关闭。我的问题是 LED 会多次点亮相同的 LED,但最终不会全部点亮。这使得电
当我使用Ethernet.begin(mac,ip)时,LED灯不会打开和关闭。但是当我不使用那条线时它就可以工作。但我需要使用以太网和 UPP 模块来打开和关闭。我怎样才能? 板卡型号:以太网08T
我试图顺时针和逆时针方向点亮我的 LED 灯。我使用mpu6050作为LED的方向控制。我检查了我的 mpu6050 驱动代码,它们没问题。顺时针方向工作时效果很好,所有 LED 灯均呈红色亮起。像这
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我是一名优秀的程序员,十分优秀!