問題タブ [atmega16]

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 に答える
587 参照

c++ - 関数の暗黙の宣言と競合する型 - AVR

これは、AVR の私の最初のプログラムです。ビルド中に、コードにエラーが表示されます: 'Encode' の暗黙の宣言の型が競合しています

私は次のコードを書きました:

マイコンとしてATmega16を使用しています。また、フロア関数の数学など、さらに多くのライブラリを追加しました。int を unsigned int、unsigned char などに変更しようとしましたが、それでも機能せず、同じエラーが表示されます。私を助けてください。

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

c - 数字が正しく表示されない、特定のピンで出力を制御できない

マイクロコントローラATmega16 から 7 セグメント ディスプレイへの入力を表示しようとしています。

http://www.avr-tutorials.com/projects/atmega16-based-digital-clockで次のコードを見つけましたが、実装しても機能しません。出力が変動します。つまり、特定のピンで出力を制御できません。 temp1 と temp2 の 2 つの入力があり、それぞれを 3 つの 7 セグメント ディスプレイに表示したいと考えています。また、ピン 2 と 3 は割り込みピンであるため使用せず、別の場所で使用しました。Pin0,1,4,5,6,7 を使用します。

遅延が追加された場合、コードは正常に機能しますが、それ以外の場合、出力はランダムなピンで生成されます。 つまり、PIND1 から表示されるはずだった出力がすべてのピンに表示されます。

私のコード:

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

avr - ゼロ PWM 出力が常に得られるのはなぜですか?

2 つの異なるアナログ値を 10 ビットの解像度で出力したいと考えています。つまり、dac_value の範囲は 0 ~ 1023 です。ATmega16 を外部水晶 4MHz で使用しています。出力に RC フィルターを接続してみましたが、何も変わりませんでした。私は常に出力がゼロになっています。誰か助けてもらえますか??

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

c - ATmega16 プログラミング レジスタの不一致

ATmega16をプログラミングしていて、デバイス マネージャー ( atmel studio 6.2 ) でそのコントローラーを選択しましたが、レジスターが ATmega16 のデータシートのレジスターと一致しません。ICE3を使っていて、シミュレーターで試してみましたが同じ結果です。レジスタUCSRCは他のコントローラーとは異なり、 に設定MSBしても書き込みできませんone

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

usb - LUFA USB 接続タイムアウト

LUFA フレームワークと AVR マイクロコントローラーのプロはいますか?

Usb 接続で受信した 256 個の要素を含むテーブル (ヒープ メモリに格納) を作成する関数がありますが、プログラムがこのテーブルを生成するのに時間がかかり、USB 接続が壊れました (デバイスを取り外すと Windows の音が聞こえます)。while ループ内の HID_Device_USBTask() および USB_USBTask() 関数の後にこの関数を呼び出しましたが、ご想像のとおり、うまく機能しませんでした。

関数を呼び出して 256 要素のデータを計算すると、この状況はさらに悪化します。

それが私がすることです: 私は 8 バイトのデータのブロックを受け取り、各ブロックを大きなお尻のテーブルに追加します! 私のコードは 16 バイト程度の短いテーブルで動作しますが、256 バイトのような大きなテーブルではうまくいきません!

USB接続がタイムアウトか何かで動いたようです。

私の疑似コードがあります:

CALLBACK_HID_Device_ProcessHIDReport():

これに対する解決策はありますか?

皆さん、ありがとうございました

PS: Atmega16u2 を使用しています。

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

arduino - arduino を isp として、avrdude コンパイラを使用して atmega16 を焼き付ける

ISPとしてarduinoを使用してatmega16を焼き付けようとしています。これまでのところ、コードは問題なく arduino にアップロードされています。arduino を ISP コードとして arduino にアップロードしました。arduino IDE を使用して atmega16 のブートローダーを焼きました。arduino IDEからコアの作業コードを送ったので、これは問題なく進みました。しかし、atmega は応答を示していません。つまり、ハードウェアが機能していません。そして、それが私の(ケースI)の問題です。ケース II: さらに、avrdude コンパイラで hex ファイル (コア作業コード) を送信しようとすると、ser_open() と表示され、lpt1 が見つかりません。これは avrdude のコンパイラの問題ですか? ケース II では、ハードウェアの動作は言うまでもなく、コードもアップロードされませんでした。助けてください。

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

avr - パルス幅測定

パルス幅を測定したいのですが、4 つの信号を測定する必要があるため、そのオプションを提供するピン ICP1 が 1 つしかないため、タイマー キャプチャ割り込みを使用できません (または使用できますか?)。だから私はタイマーを使用するという違いでarduino pulseInのようなものを実装しようとします(arduinoには他の実装がありますが、非常に似ています)。

実際の問題は、 pulseIn が何も返さず、無限ループで動作し続けることです。

ATmega16を使用。現在、PB2 でのみテスト中です。

アップデート

それが私のプロテウススキームです。信号は発電機から来ます。周波数は 1kHz、幅は 50% です。振幅は 5 ボルトです。 プロテウススキーム

アップデート

すみません、それはばかげた間違いでした。それは正常に動作します。期待どおりに動作しなかったものをデバッグします。