問題タブ [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 投票する
2 に答える
5076 参照

avr - atmega128で10秒の遅延のためにウォッチドッグタイマーを設定する方法

私はATMEGA12816ACを使用しています。だから私はウォッチドッグタイマーを使って少なくとも10秒後にAVRをリセットしたい。たとえば、キーパッドキーが10秒以内に押されない場合、コントローラーは再起動する必要があります。

wdt_enable(value);のようなライブラリ関数を試し、WDTCR regも構成してみましたが、10秒の遅延を取得できませんでした。

この問題で私を助けてください。

前もって感謝します。

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

c - 仮想ポートはatmega MCUで動作しますか?

設計でポート全体を見つけることができませんでしたが、プログラムを統一したいので (ピンを変更すると、この配列を変更するだけで済みます)、配列で定義して仮想ポートを作成します。操作するときは、これらの仮想ピンをそれぞれループに設定します。これは、以下のマクロ コードと同じです (もちろん、ポートとピンに対して 2 つの配列を別々に定義できます)。配列 (ピン) の長さは、コンパイル前は可変 1 (おそらく 2/3/4 ピン) ですが、これは重要ではありません。

これが可能なら?関数またはマクロを使用しますか? またはポインタ操作へのポインタ?

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

arduino - AVR TWI インターフェースの使用に関する問題

atmega2560 を使用して HMC5883L モジュールにアクセスしようとしています。I2C 通信に不可欠な基本的なメソッドを含むクラス (I2C) を作成しました。

まず、問題を説明します。これは私がやったことです。

(用語には通常の意味があると考えてください。SLAW = SLA+W (スレーブアドレス + 書き込み)...)

while ループに至るまではすべてうまくいきます。ループでは、でスタックするようですi2c.stop()

i2c.stop()このように実装されています。

私は何か間違ったことをした ?どうすればこれを解決できますか?

(他のすべての機能は、データシートの例のように簡単に実装されます。)

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

assembly - ビット演算、アセンブリ

ビット位置を変更するタスクがあります

START ビット 7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット 1 | ビット0

FINAL ビット 3' | bit2' | ビット7 | ビット6 | ビット 1 | ビット0 | bit5' | bit4'

ビット単位およびシフト/ローリング命令の使用。

シフトとローリング以外の方法でそれらを移動する方法がわかりません。そのためには、1 つまたは複数のレジスタのみを使用する必要がありますか?

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

c - エラー:ポイズニングされた「SIG_OUTPUT_COMPARE0A」を使用しようとしました

atmega168aのCコードを書いています。以下のコードをコンパイルするattempt to use poisoned "SIG_OUTPUT_COMPARE0Aとエラーが発生しました。attempt to use poisoned "SIG_OUTPUT_COMPARE0Bしかし、 http://www.protostack.com/blog/2010/09/timer-interrupts-on-an-atmega168/ISRで同様の関数の使用法が見られます。誰かが私が間違っていることを教えてくれたら幸いです。私はatmelstudio6.0とそのgccを使用して、Windows7PCでコードをコンパイルしています。

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

gcc - Makefile 循環依存 + No such file エラー

テンプレートを使用して avr gcc プロジェクトのメイクファイルを作成しようとしています。これを書くのは初めてです (これまでのところ、AVR Studio 4 に組み込まれているデフォルトの makefile を使用しています)。

コンパイルしようとすると、エラーが発生します

これは私のメイクファイルです

私がここで間違ったことを助けてくれますか?

ありがとう!

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

c - AVRプログラミングで16ビットタイマーをアクティブにする方法

私はatmega168aチップを持っています。私は、サブルーチンを使用して割り込みCounter 0を切り替えるために使用します。when条件がtrueの場合にアクティブにします。だから、私はを使用しますが、この行は、カウンターが値になっているときにのみ16ビットタイマーを中断したい場合に、即座に割り込みを呼び出します。インスタント割り込みを発生させずに、ランタイムで16ビットタイマーをアクティブにするにはどうすればよいですか?PORTCISR(TIMER0_COMPA_vect)ISR(TIMERB_COMPA_vect)16-bit timerifTIMSK1 = (1<<OCIE1A)ISR(TIMER1_COMPA_vect)reachesOCR1A

これが私のコードです:

これは、信号0を瞬時に設定するため、割り込みを瞬時に設定したくない理由を示すオシロスコープの出力です。 ここに画像の説明を入力してください

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

c++ - Arduino インライン ASM が期待どおりに動作しない

私は時計を作ろうとしているので、ASM と arduino を使っています。ほとんどの場合、プレーン C で問題ありませんが、BCD から 10 進数へのコンバーターに出力する時間を準備するために、ASM を使用することにしました。8086 C++/ASM で次のコードを書きましたが、私のコンピューターでは問題なく動作します。

ただし、Arduinoで実行するように変更すると、完全に機能しなくなります。

8086 コードは、期待どおりの出力を提供します。

0: 0000
1: 0001
2: 0010
3: 0011
...
13: 1101
14: 1110
15: 1111

しかし、Arduino で実行されたコードは、別の出力を提供します。

0: 5000
1: 0000
2: 0000
3: 0000
... (ゼロが続く)
13: 0000
14: 0000
15: 0000

ご想像のとおり、5 を返すと、コードは役に立たなくなります。そして、ソースに 5 に近いものがない場合に 5 を返す方法についてはわかりません。私はここで何をすべきか途方に暮れているので、本当に助けが必要です.

ATMega32U プロセッサを搭載した Arduino Leonardo を使用しています。Arduinoソフトウェア(AVR-GCCでコンパイル)によって生成された実行可能ファイルを逆アセンブルしようとしましたが、入れたコードを見つける努力のどこにもたどり着けないようです.

お時間をいただきありがとうございます、Stack Overflow。

0 投票する
5 に答える
6803 参照

assembly - バイトを逆にする方法

私は現在プロジェクトに取り組んでおり、バイトの順序を逆にする必要があります。現在、AVR Studio Mega32 マイクロコントローラを使用しています。

例えば:

まず、私はこれを持っています:

r20 が 01101000 になるようにバイトを逆にする最も簡単な方法は何ですか?

0 投票する
0 に答える
432 参照

embedded - Register access in ATMEGA32 & Debugging of Serial Communication Atmel Studio

I am working upon ATMEGA32 and programming it with the help of Atmel Studio 6.0.............

In ATMEGA32, there are 32 general purpose registers starting from R00 to R31........but how can i use those registers directly in c language in Atmel Studio 6.0.......

R00 = x; instruction does not work...................so i am forced to use integer variables, but i want to use inbuilt registers so i can easily debug it how can i do it??????

My 2nd question is i am using USB to serial asynchronous communication, so while debugging i want that some value should be passes virtually via serial communication so that i can check my code...................how can i do that in Atmel Studio 6.0??????