問題タブ [atmega]

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.

0 投票する
1 に答える
2125 参照

c - AVRプログラミングでCKDIV8ヒューズを設定する方法

atmega168a を使用し、[ツール] > [デバイス プログラミング] > [AVR ドラゴン] > [ヒューズ] > [CKDIV8] (クリック) でヒューズを構成して、内部クロックを 8 MHz に設定します。

そのヒューズを設定できるようにするには、C コードにどのコードを追加する必要がありますか?

0 投票する
1 に答える
546 参照

c - CでEnterキーが押されたことを知る方法

マイクロコントローラー (AVR) とのシリアル通信を介してコンピューターと通信しようとしています。私は C でプログラミングしていますが、ユーザーが端末でエンター キーを押したかどうかを判断する方法がわかりません。

0 投票する
3 に答える
2263 参照

avr - タイマー & オーバーフロー割り込み MikroC コード

それから

しかし、それは私にとってはうまくいかないので、タイマー0とその割り込みサービスルーチンを開始する正しい方法ですか??

0 投票する
2 に答える
3777 参照

timer - TimerOne とシリアル ライブラリ

私はTimerOne ライブラリを使用して作業しています。コードを以下に示します。

問題は、いくつかのループの後 (ループ() のミリ秒が 930 を返すとき)、arduino が停止することです。

問題は、arduinoがループを実行していて、シリアルポートに書き込むときに、ISRルーチンも書き込みをしていることだと思います。どうすればこの問題を解決できますか?

私は変更を試みます:

に:

正常に動作します。arduino のシリアル ライブラリには、割り込みを使用するときに問題があると思います。可能ですか?

コードのブロックでarduinoをブロックする方法はあります.atomicを使用しようしましたが、うまくいきませんでした.

Arduino UNO (ATmega328) を使用しています。

0 投票する
1 に答える
197 参照

embedded - 2 つの半二重シリアル ポート間にトンネルを作成する方法は?

私は、2 つの半二重 UART と 1 つの全二重 UART を含む組み込みプロジェクトに取り組んでいます。

UART1 はデバイス A に接続されます。UART2 はデバイス B に接続され、UART3 は PC に接続されます。UART1 と UART2 は半二重であるため、RX/TX モードを適切に設定する必要があります。

UART1 の信号がトリガーされると、UART2 はデバイス B からデータをフェッチします。そのデータはバッファに入れられ、UART1 と UART3 に送り返されます。デバイス A はデータを消費し、UART1 でさらに項目を送信します。デバイス B が応答するには、そのデータを UART2 に渡す必要があります。

TX/RX モード間の切り替えモードを処理できる効率的なステート マシンについて考えていましたが、これまでのところ、私の UART コードは割り込み駆動型です。このプログラムの流れに取り組むには、どのような方法がありますか?

0 投票する
1 に答える
900 参照

c - ATMega8 の浮動型値

私のマイクロコントローラは浮動小数点型の値を処理しないので、int を使用して浮動型の値を操作するにはどうすればよいですか?

レジスタ a=5 に格納されている値があるように、0.65 を掛けて、結果を別のレジスタ c に格納しますか? どうすればいいのですか?int を使用すると、小数値を脇に置いて解決し、float を使用すると「?」が表示されます。

0 投票する
1 に答える
2324 参照

c - avrに数値を10進形式で保存する方法

ATMega8 でキーパッドを使用して 10 進数値を入力しようとしています。今までは整数値しか入力できませんでした。コードは以下のとおりです。

上記のコードを使用して、整数をレジスタに格納できます

上記の場合は、「。」のキーコードです。「。」を押した後、今欲しい。キーパッドでは、押されたすべてのキーが整数 a に格納されます

0 投票する
1 に答える
150 参照

c - 関数を作成し、メイン プログラムで呼び出す

AVRプログラミングのケースがあります

この間、事前定義された関数を呼び出したい

関数を作成するにはどうすればよいですか?? メインプログラムの私のケースでそれを呼び出しますか? 私を案内してください私はこれらすべてに慣れていません...助けてください..