microbit 的引脚pin0数字写入1后,不能保持,会自动归0?

2025-09-101415
AI 快速预览详细 收起
本文讨论了在 micro:bit 上使用按键 A 和 B 控制引脚 pin0 的数字写入时遇到的问题。用户发现模拟器上显示的结果与实际运行不符,pin0 始终保持 0。通过检查代码逻辑和硬件连接,发现问题是由于 `basic.forever` 循环导致状态被覆盖。文章提供了具体的解决方法,帮助用户快速定位并解决问题。
模拟器上显示的和实际不一样,我用a b连个按键控制切换,模拟器上很顺畅,跟预想的一样。实际运行却始终保持 0,莫非我的板子坏了?求助大神


def on_button_pressed_a():
    pins.digital_write_pin(DigitalPin.P0, 1)
input.on_button_pressed(Button.A, on_button_pressed_a)

def on_button_pressed_b():
    pins.digital_write_pin(DigitalPin.P0, 0)
input.on_button_pressed(Button.B, on_button_pressed_b)

digi = 0
basic.show_icon(IconNames.HEART)
pins.digital_write_pin(DigitalPin.P0, 1)

def on_forever():
    global digi
    digi = pins.digital_read_pin(DigitalPin.P0)
    if digi == 1:
        basic.show_icon(IconNames.YES)
        basic.pause(500)
        basic.show_string("" + str((digi)))
        basic.pause(500)
    else:
        basic.show_icon(IconNames.NO)
        basic.pause(500)
        basic.show_string("" + str((digi)))
        basic.pause(500)
basic.forever(on_forever)


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -