問題タブ [microcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
embedded - マイクロコントローラーのプログラミングに関する簡単なチュートリアルが必要だと思いますか?
これは 100% プログラミング関連ではありません。しかし、SO コミュニティの少数派に対処しているので、これはある程度役立つと思います。
マイクロコントローラーのプログラミングは、プログラミングの興味深い分野の 1 つです。ここで、PIC について開始/学習/議論するためのリソースを要求するトピックを見ました。
私はこの分野で十分な知識と経験を持っているので、初心者が基本から学ぶのに役立ついくつかのリソースを公開することを考えています. これは単なる理論上の出版物ではなく、サンプル プロジェクトに基づいています。ユーザーが動的に相互にやり取りできるように、新しいブログ + フォーラムでこれを開始したいと考えています。この決定に至ったのは、初心者が学習を開始して共同作業できるサイトが非常に少ないことがわかったためです。
これについてどう思いますか?そんな大変さを経験したことはありませんか?それをいくらか利用できると思いますか?サイトで見たいものは何ですか?
NPRとしてこれを閉じるつもりがないなら、私は感謝します. 他のマイクロコントローラー愛好家にサービスを提供したいだけです:)
assembly - アセンブリのコード規約(主にPIC)はありますか?
アセンブリのコード規約(主にPIC)はありますか?
networking - HTTP サーバーと SNMP エージェントで AVR を構築しますか?
AVR マイクロコントローラーを使用して、単純なデータ収集デバイスのプロトタイプを作成する必要があります。
デバイスは基本的にセンサー データを収集し、SNMP および HTTP 応答を介してこのデータを利用できるようにします。
HTTP サーバーと SNMP エージェントが既に組み込まれている AVR ソフトウェアに関して、どのような選択肢がありますか?
c - マイクロコントローラー C コードの単体テスト パターン
C をサポートする単体テスト フレームワークはたくさんありますが、マイクロ コントローラー コード (私の場合は PIC ですが、質問はそれよりも一般的なものだと思います) の単体テストを作成する方法に少し困惑しています。
マイクロ コントローラー用に記述されたコードの多くは、レジスターへの構成とデータ値の書き込み、レジスターからの着信データの読み取り、および割り込みイベントへの応答を中心に展開されます。これに対する最も効果的な方法について、誰かがいくつかの指針を提供できるかどうか疑問に思っています。
c - 組み込みソフトウェアのコール ツリー
マイクロコントローラ (Cortex-M3) で実行される C アプリケーションのコール ツリーを作成するためのツールを知っている人はいますか? ソース コード (理想的ではない)、オブジェクト コード (望ましいソリューション)、または実行時 (許容範囲) から生成できます。gprof を見てきましたが、組み込みシステムで動作させるにはまだ多くのことが欠けています。
追加のボーナスは、ツールが最大スタック深度も提供することです。
更新:ソリューションはできれば無料です。
programming-languages - 小さなメモリで実行できる利用可能な対話型言語は何ですか?
汎用プログラミング言語を探しています
- インタラクティブな (ライブ コーディング) プロンプトを表示する
- 単独で 32 KB の RAM で動作するか、コンパイラが別のマシンでホストされている場合は 8 KB で動作します
- 合計 8 ~ 32 KB の RAM (MMU なし) のマイクロコントローラーで実行できます。
以下はこれまでのリストですが、何が欠けていますか?
- Python : PyMite VMには 64K のフラッシュと 8K の RAM が必要です。8K以上のLPC、SAM7、ATmegaが対象。主催。
- Lua : eLua FAQ では、256K フラッシュ、64K RAM を推奨しています。
- FORTH : amforthには、ATmegaに 8K フラッシュ、150 バイトの RAM、30 バイトの EEPROM が必要です。
- スキーム:脇の下 スキーム最小のターゲットは、32K フラッシュ、4K SRAM を搭載した LPC2103 です。
- C : Interactive Cは 68HC11 で実行され、フラッシュと 32K SRAM はありません。主催。
- C : picocは、オープン ソース、クロス コンパイル、インタラクティブな C システムです。AVR 用にコンパイルすると、63K のフラッシュと 8K の RAM が必要になります。テーブルをフラッシュに保持することで、RAM を削減できます。
- C++ : AngelScriptは、オープン ソースのバイトコード ベースの C/C++ ライクなスクリプト言語で、ネイティブ呼び出しが簡単です。
- Tcl : TinyTCLは DOS、60K バイナリで動作します。移植しやすそうです。
- BASIC : TinyBasic : 64K ヒープで初期化します。調整可能かもしれません。
- 舌足らずの発音
- PostScript : (低メモリ用の FOSS 実装はまだ見つかりません)
- Shell : bitlash : Arduino (ATmega) 用の対話型コマンド シェル。AVRSHも参照してください。
c# - バイナリ データ用の FileHelpers のようなデータ インポート/エクスポート ユーティリティ?
テキスト データを扱うときは、優れた FileHelpers ライブラリを使用します。これにより、テキスト フィールドをファイルまたはメモリ内文字列からデータを表すクラスに簡単にダンプできます。
ビッグ エンディアンのマイクロコントローラー ベースのシステムを使用する場合、シリアル データ ストリームを読み取る必要があります。非常に限られたマイクロコントローラー プラットフォームでスペースを節約するために、さまざまなマルチバイト型のフィールドを含む生のバイナリ データを書き込む必要があります (基本的には、シリアル ポートから構造体変数をダンプするだけです)。
私は FileHelpers のアーキテクチャが好きです。データを表すクラスを作成し、データをクラスに入れる方法をエンジンに指示する属性でタグ付けします。単一のレコードを表す文字列をエンジンに入力し、データの逆シリアル化された表現を取得できます。ただし、これはオブジェクトのシリアル化とは異なり、生データはまったく区切られておらず、単純なバイナリ固定レコード形式です。
FileHelpers は、表示される null を処理できないため、おそらくそのようなバイナリ データの読み取りには適していません。 * Unicode の問題があると思われます (エンジンは入力を文字列として受け取るため、シリアル ポートからバイトを読み取って変換する必要があります)。データコンバータークラスに移動する前に、それらを Unicode 文字列に変換します)。実験として、バイナリ ストリームを読み取るように設定しましたが、null を送信しないように注意している限り、これまでのところ問題なく動作しています。生データを読み取り、エンディアン形式の問題などを説明する新しいコンバーターをセットアップするのは簡単です。現在、null で失敗し、複数のレコードを処理できません (レコード間に CRLF が必要です)。
私が知りたいのは、FileHelpers と同様に機能するが、バイナリ データを処理するように設計されたオープン ソース ライブラリを誰かが知っているかどうかです。
このタスクを処理するために FileHelpers から何かを派生させることを検討していますが、これを行うために既に利用できるものがあるはずです。
*入力ストリームの null については文句を言わないことがわかりました。Null に問題があると予想していたところに、テスト プログラムに関連のないバグがありました。最初にもう少し深く調査するべきでした!
usb - USB機能内蔵マイコン+USBホストコントローラ
USB機能が組み込まれたこのマイクロコントローラAT83C5134/35/36を見つけました。このコントローラをプログラムすると、データ転送のためにモデム(PCと電話の間のインターフェース「インターネットの世界」)に直接接続できます。他に何か必要ですか?? http://www.alldatasheet.com/datasheet-pdf/pdf/181593/ATMEL/AT83C5134.htmlで同じデータシートをご覧ください。
USBホストコントローラーとは正確には何ですか...ネットでいくつかのページを読みましたが、正確なアイデアを得ることができませんでした..例で説明できますか?
c - 8051 から 1 回だけ文字列をシリアルに送信するにはどうすればよいですか?
8051 マイクロコントローラーをコンピューターとワイヤレスで通信させています。マイクロコントローラーはシリアル ポート (DB9) に文字列を送信し、コンピューターはこの文字列を受信して操作します。
私の問題は、8051 に文字列を 1 回だけ送信させる方法がわからないことです。PC 側で文字列を操作する必要があるため、一度だけ受信する必要があります。現在、C コードでは文字列を 1 回送信していますが、コンピューターでは同じ文字列を継続的に受信しています。これは、SBUF にあるものが継続的に送信されるためだと思います。文字列を 1 回だけ送信する方法はありますか? SBUF を空にする方法はありますか?
DB9 の RTS (Request to Send) ピン (7 番目のピン) を使用しようとしました。そのピンの電圧を無効にすると、シリアル ポートへのデータの流れが停止することをどこかで読んだためです。そこで私がしたことは、文字列を送信するようにマイクロコントローラーをプログラムし、DB9 RTS ピンに接続された出力ピンに論理レベル 0 を送信することでした。しかし、それはうまくいきませんでした。
誰か提案はありますか?本当に感謝しています。
編集
私が PC で使用しているソフトウェアは、Xbee モジュール用の X-CTU です。これは私のマイクロコントローラのコードです:
誰かが実際に文字列を一度だけ送信していることを確認してもらえますか?
編集
Steve、brookesmoses、Neil は、問題を引き起こしているのは私の主な機能の後に起こっていることだと彼らが言ったとき、頭に釘を打ったようです。Steve が提示した提案されたコード (より具体的には for(;;); と main の外で serTX を定義する) を試してみたところ、完全に機能しました。コントローラーはおそらく再起動されるため、同じコードが繰り返されます。
助けてくれてどうもありがとう!:)