ホームページ  >  記事  >  バックエンド開発  >  micropython は開発に適していますか?

micropython は開発に適していますか?

anonymity
anonymityオリジナル
2019-06-13 14:51:053773ブラウズ

最近国内のプログラミングコミュニティでMicroPythonが人気になっていますが、なぜ人気があるのでしょうか?強力な機能を備えていることと、Mitライセンスのもとでオープンソースであるためでしょうか?

Micropython の起源は、偉大なコンピュータ エンジニアであるダミアン ジョージによるものです。ダミアン ジョージは毎日仕事で Python を使用しています。ある日、彼は大胆なアイデアを思いつきました。「Python を使用してマイクロコントローラを制御できるだろうか?」ロボットの操作については?

では、micropython は開発に適しているのでしょうか?

micropython は開発に適していますか?

Python 言語自体は使いやすいスクリプト言語です。コンピュータを専攻していない人の中には、Python 言語を入門言語として選択する人もいます。ただし、軟膏にはハエがあり(中国と米国がワールドカップに参加しない理由)、いくつかの低レベルの操作を実装できず、ハードウェア分野では目立たない。そこで、Damien George は 6 か月をかけて MicroPython を構築しました。これが MicroPyhton の起源です。

MicroPython は ASIC に基づいており、その構文は基本的に Python3 と同じであり、独立したパーサー、コンパイラー、仮想マシン、およびクラス ライブラリを備えています。現在、STM32F401、STM32F405、STM32F407 などの 32 ビット ベースの ARM プロセッサをサポートしています。

次の比較は、アセンブリ、C、MicroPython の 3 つの言語を使用して行われ、microPython が開発に適しているかどうかを示しています。

1. コンパイル環境

C 言語やアセンブリ言語でプログラムを書く前に、コンパイル環境をダウンロードする必要がありますが、Micropython ではコンパイル環境は必要ありません。開発ボードの U ポートをコンピュータに接続します。U ディスクを挿入するのと同じように、コンピュータにドライブ文字が表示されます。次に、U ディスクを開いて、メモ帳で main.py を直接編集します。その快適さは、MicroPython を必要としないことです。あらゆるツールと環境。あらゆるテキスト ツールを 1 つの開発ボードで使用でき、開発およびコンパイルが可能で、ポケット プログラミング コンピューターというニックネームを付けることもできます。 。 。中国で最も優れているのは TPYBoard v102 開発ボードです。興味があれば、さらに詳しく学ぶことができます。完全な情報とビデオ学習教材があり、非常に優れています。それで私はこの開発ボードに興味を持ちました。

2. 操作の難しさ

アセンブリ言語は基本的な操作は単純ですが、コードが長くデバッグが難しい、C言語には文や文があり、複雑なプロジェクト目標を達成するのは比較的難しいです。多数のライブラリ 関数はアセンブリよりも単純です。MicroPython には C よりも多くのライブラリ関数があり、コード形式が単純であるだけではありません。ライブラリのサポートにより、多くの関数やメソッドを自分で記述する必要がありません。 xx を直接インポートするだけです。クラス ライブラリのインポートは問題ありません。以前はランプを点灯させるのに 5 ~ 6 行のコードが必要でしたが、現在は 1 行のコードだけで LED を点灯できるので、とても簡単です。

3. プログラム構造

アセンブリ言語は一般にジャンプ構造を採用しており、サブルーチン呼び出し、ループ、ランダムジャンプなど、理論上はジャンプ方式で動作を中断します。プログラム セグメントの操作にはスタック プッシュの正確な制御が必要であり、その要件は非常に厳格です。C 言語は一般にループ構造またはシーケンシャル構造を使用し、実行するためにジャンプする必要はありません。プログラム。割り込み操作は人間の介入なしで自動的にスタックをプッシュします。タイミング要件が高い場合は、効率を向上させるためにアセンブリを埋め込むことができます。MciroPython は C プログラム構造またはスレッド構造を使用できます。スレッド構造には厳密かつ合理的なスレッドの割り当てが必要です。競合のない作業時間とリソースの適切な制御。アイドル状態のスレッドによってリソースが浪費されることはありません。理論的には、マルチスレッドはより効率的に実行できます。単一のコアは同時に単一のスレッドしか実行できませんが、コアは常に 1 つのスレッドから同期されます。マクロの観点から見ると、時間要件が厳しくない場合に効果的にプログラムを削減できます。

4. 記述方法

マクロを使用しないアセンブリの場合、通常は命令でユニットを直接操作するため、多数のデータユニットの用途を記憶する必要があり、プログラム量も多いため、行数が 1000 行か 2000 行に達する可能性がありますが、プログラム コードを前後に確認する必要があり、作成プロセス全体が比較的面倒です。また、すべて 8 ビット単位であるため、複雑なデータ操作は C 言語をネストすることで完了する必要があり、C 言語で使用する変数は最初に定義する必要があり、変数名を覚える必要がないことに比べて、全体の構造が明確で最も簡単です。プログラミングソフトにはジャンプ機能があり、サブルーチン機能によりプログラムブロックを探すのにとても便利です。一般的に使用されるさまざまな関数を含む完成したヘッダー ファイルが多数あるため、複雑なプログラム コードの記述が軽減されます。MicroPython は C の記述上の利点を継承しており、事前定義や終了記号は必要ありません。行を変更するだけで済みます。ただし、特殊な状況では Tab キーの使用に注意してください。

5. 読みやすさ

マークが少なく、ユニットを直接操作するため、アセンブリ自体が読みにくく、視覚的な構造が 2 列のコードだけでなく、常にジャンプする必要があるため、とても難しいです。C 言語の単純なオペレーション コードは比較的明確ですが、複雑なコードの場合はメソッド内でメソッドを見つけなければなりません。複雑なコードの多くは自分で見つけなければならず、非常に面倒です。頭痛; MicroPython は C よりも可読性が高く、多くの特殊記号がキャンセルされているため、全体的な印象は比較的明確です. 多くのメソッドは別個のライブラリに個別に記述されており、直接呼び出すことができます. 各関数には別個のクラス ライブラリがあり、これは非常に優れているように見えます一目で分かりやすく便利です。

以上がmicropython は開発に適していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。