BBC MicroPythonにイベントコールバックはありますか?

カップ

micro:bit用に以下をJavascriptからMicroPythonに変換しようとしています。これは、ブロックからJavascriptに翻訳された発明者のキットのコード例3です。

let light_state = 0
# how do you do this bit?
input.onPinPressed(TouchPin.P0, () => {
    if (light_state == 0) {
        light_state = 1
    } else {
        light_state = 0
    }
})
basic.forever(() => {
    if (light_state == 1) {
        pins.analogWritePin(AnalogPin.P2, pins.analogReadPin(AnalogPin.P1))
    } else {
        pins.digitalWritePin(DigitalPin.P2, 0)
    }
})

input.onPinPressedをコールバックイベントまたはラムダとして実行する方法がわかりません私が思いつくことができる最善の方法は、pin0を繰り返しポーリングすることです。

from microbit import *

light_on = False
while True:
    if pin0.is_touched():
        light_on = not light_on        
        if light_on:
            aval = pin1.read_analog()
            pin2.write_analog(aval)
        else:
            pin2.write_digital(0)

MicroPythonのドキュメントでスイッチのコールバックを見たことがありますが、micro:bitピンのイベントコールバックはありません。文書化されていない場合でも、この機能のサンプルコードはありますか?

編集:コードを修正しました-以前のMicroPython変換により、LEDが継続的にちらつきました。

カップ

micro:bitフォーラムからの返信

MicroPython micro:bit APIは、主に学童による教育と使用のために設計されており、複雑なバグにつながる可能性があるため、APIにコールバックを含めないことが決定されました。代わりに、ピンをポーリングする必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

write_analog in microPython on BBC micro:bit does not do anything

分類Dev

bbc-microbit:micropython AttributeError: 'str'オブジェクトに属性 'partition'がありません

分類Dev

27番をBBCにマッピングするアルゴリズム

分類Dev

これはどのCRCアルゴリズムですか(BBCマイクロテープファイリングシステムで使用されます)?

分類Dev

BBCポッドキャストをRhythmboxに追加するにはどうすればよいですか?

分類Dev

BBC Micro:bitMbedオンラインコンパイラでconfig.jsonファイルを使用する

分類Dev

Angular $http with bbc radio api

分類Dev

Python 3.7、FeedparserモジュールはBBC気象フィードを解析できません

分類Dev

BBCフラッシュビデオはFirefoxでは再生されません(Youtubeビデオは再生され、Chromeではすべて問題ありません)

分類Dev

BBCフラッシュビデオはFirefoxでは再生されません(Youtubeビデオは再生され、Chromeではすべて問題ありません)

分類Dev

BBC Basic:モード7でスペースを占有せずに制御文字を挿入する

分類Dev

BBC Basic Add an array to another array

分類Dev

`get_iplayer`を使用してライブBBCラジオを録音するにはどうすればよいですか?

分類Dev

bbc-talを使用してブロードキャストの上にアプリケーション層を実装する

分類Dev

優先度の観点から、イベントコールバックのイベントリスナーはどこにありますか?

分類Dev

BBC RSSフィードを使用していますが、ニュース記事は複数回表示されています

分類Dev

変更イベント後のJavascriptコールバックには、部分的なページ更新があります

分類Dev

Javascript、コールバック関数はいつイベントキューに入りますか?

分類Dev

コンソールにエラーが表示されるのはなぜですか:アクティベータースロットは、すでにバインドしているのにバインドする必要がありますか?

分類Dev

tsconfigに、サーバーとクライアントをパブリックフォルダーとプライベートフォルダーにコンパイルするオプションはありますか?

分類Dev

無効なトークンエラーに対するAlgoliaのインスタント検索コールバックはありますか?

分類Dev

jsにコールバックがあるオブジェクトインスタンスをテストする関数はありますか?

分類Dev

TypeScriptにコールバック関数のタイプはありますか?

分類Dev

一度発生するグローバルイベントとして機能するpromiseにコールバックをアタッチするという概念の名前はありますか?($(document).ready()のように)

分類Dev

Doctrineのロールバックイベントはありますか?つまり、ロールバックがあるチェンジリスト上のエンティティに処理を実行します

分類Dev

iOSの英数字インデックスオーバーレイコントロールに相当するAndroidはありますか?

分類Dev

MSBuildには、インポートを検出するためのOnImportコールバックまたは同様のものがありますか?

分類Dev

バックボーンには最終的にコールバックがありますか?

分類Dev

onActivityCreatedフラグメントコールバックについて誤解はありますか?

Related 関連記事

  1. 1

    write_analog in microPython on BBC micro:bit does not do anything

  2. 2

    bbc-microbit:micropython AttributeError: 'str'オブジェクトに属性 'partition'がありません

  3. 3

    27番をBBCにマッピングするアルゴリズム

  4. 4

    これはどのCRCアルゴリズムですか(BBCマイクロテープファイリングシステムで使用されます)?

  5. 5

    BBCポッドキャストをRhythmboxに追加するにはどうすればよいですか?

  6. 6

    BBC Micro:bitMbedオンラインコンパイラでconfig.jsonファイルを使用する

  7. 7

    Angular $http with bbc radio api

  8. 8

    Python 3.7、FeedparserモジュールはBBC気象フィードを解析できません

  9. 9

    BBCフラッシュビデオはFirefoxでは再生されません(Youtubeビデオは再生され、Chromeではすべて問題ありません)

  10. 10

    BBCフラッシュビデオはFirefoxでは再生されません(Youtubeビデオは再生され、Chromeではすべて問題ありません)

  11. 11

    BBC Basic:モード7でスペースを占有せずに制御文字を挿入する

  12. 12

    BBC Basic Add an array to another array

  13. 13

    `get_iplayer`を使用してライブBBCラジオを録音するにはどうすればよいですか?

  14. 14

    bbc-talを使用してブロードキャストの上にアプリケーション層を実装する

  15. 15

    優先度の観点から、イベントコールバックのイベントリスナーはどこにありますか?

  16. 16

    BBC RSSフィードを使用していますが、ニュース記事は複数回表示されています

  17. 17

    変更イベント後のJavascriptコールバックには、部分的なページ更新があります

  18. 18

    Javascript、コールバック関数はいつイベントキューに入りますか?

  19. 19

    コンソールにエラーが表示されるのはなぜですか:アクティベータースロットは、すでにバインドしているのにバインドする必要がありますか?

  20. 20

    tsconfigに、サーバーとクライアントをパブリックフォルダーとプライベートフォルダーにコンパイルするオプションはありますか?

  21. 21

    無効なトークンエラーに対するAlgoliaのインスタント検索コールバックはありますか?

  22. 22

    jsにコールバックがあるオブジェクトインスタンスをテストする関数はありますか?

  23. 23

    TypeScriptにコールバック関数のタイプはありますか?

  24. 24

    一度発生するグローバルイベントとして機能するpromiseにコールバックをアタッチするという概念の名前はありますか?($(document).ready()のように)

  25. 25

    Doctrineのロールバックイベントはありますか?つまり、ロールバックがあるチェンジリスト上のエンティティに処理を実行します

  26. 26

    iOSの英数字インデックスオーバーレイコントロールに相当するAndroidはありますか?

  27. 27

    MSBuildには、インポートを検出するためのOnImportコールバックまたは同様のものがありますか?

  28. 28

    バックボーンには最終的にコールバックがありますか?

  29. 29

    onActivityCreatedフラグメントコールバックについて誤解はありますか?

ホットタグ

アーカイブ