問題タブ [avr]

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

c - ライブラリでユーザーに独自の機能を提供させるにはどうすればよいですか?

AVRMCU用の静的ライブラリを書いています。私はavr-gccとAVRLibcを使用しています。一部のライブラリ関数は、SPIを使用してデバイスと通信します。ただし、SPI通信はすべてのAVR MCUで同じ方法で行われるわけではありません(すべてのAVR MCUが同じレジスタを持っているわけではありません)。それはビッグバンギングによってさえ行うことができます。したがって、特定のアプリケーション用に、ユーザーが独自のSPIルーチンを提供するようにします。

これどうやってするの?すべてのライブラリ関数は、追加の引数としてコールバック関数を取る必要がありますか?ライブラリ内にSPIハンドラーとして機能するグローバル変数が必要ですか?関数を(を使用して)外部にする必要がありますexternか?

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

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

c99 - ヘチマのデバイス記述子...これはどのような構造(内部)ですか?これは具体的なことではなく、C /C++プログラマーへの質問にすぎないと思います。

私はプロジェクトにLUFAを使用しており、いくつかの例を読んだ後、これらの構成要素のいくつかを見ました。これらのマクロはありますか?私はAVRデバイスを知っていて、PROGMEMが1つであることを知っていますか?しかし、.Headerとは何ですか。また、なぜ「。」で始まるのですか。

誰かが私にこれらのような構造を作成する方法を説明したり、LUFAドキュメントのどこにそれらを見つけるかを教えてもらえますか?

0 投票する
8 に答える
39858 参照

microcontroller - AtmelAVR逆アセンブラー

誰かが私にAtmelAVR8ビットマイクロコントローラー用の逆アセンブラーを提案できますか?このためのオープンソースプロジェクトはありますか?

ありがとう。

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

avr - 「バイナリが見つからなかったため、起動に失敗しました」というメッセージが表示される

AVR32 Studio (2.6) で AVR プロジェクトをデバッグしようとすると、「バイナリが見つからなかったため、起動に失敗しました」というエラー メッセージが表示されます。

ビルドが完了したこと (実行可能な .elf ファイルがビルド フォルダーにある) をコンソールで確認でき、プロジェクトをクリーンアップし、新しいビルド構成を作成しましたが、まだ起動できないようです (およびまたはチップをプログラムすることもできません)。 ) デバッガー。

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

avr - ATMEGA88 のブートローダーを置き換える方法

アドレス 0x1800 にブートローダーがあり、アドレス 0x0000 にファームウェアがある ATMEGA88 チップを搭載したボードがあります。どちらもUSBにアクセスできます。ブートローダーは新しいファームウェアを書き込むことができますが、新しいブートローダーを作成する必要があります。

確かに、これは AVR プログラマーを使用する場合は問題ありませんが、USB を介してこれを行うことも可能ですか? 私の考えは、新しいブートローダーを書き込むことができる古いブートローダーを介して特別なファームウェアをフラッシュすることでした。それは可能ですか?はいの場合、どのように?

私の現在の試みは成功しませんでした。すべてのコマンド (boot_page_erase、boot_page_fill、および boot_page_write) は、ブートローダーが実行しているのと同じ方法で正常に実行されます (唯一の違いは、0x0000 ではなくインデックス 0x1800 で書き込みを開始することです)。フラッシュには実際には何も書き込まれませんでした。

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

usb - USBOTGを介したピアの接続

私の問題は、2つの同一のデバイスをOTG対応のUSBインターフェースに接続することです。これは単純な景品ですか、それともホストモードとデバイスモードを任意のタイミングパターンで手動で開始および停止して、最終的に一方がOTGホストであるときに一方がデバイスモードでヒットするようにする必要がありますか?いくつかのUSBスタックプロデューサーのAPIをざっと見てみると、対称的な接続が可能かどうかは私にはわかりません。

よろしく、slarti

PS:デバイスはAVR32です

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

arrays - 印刷時に空の配列

AVR MCU 用の C/asm プログラムを書いています。私はまだ学んでいるので、コードで何らかの間違いを犯したことを願っています。

volatile unsigned char suart_0_rx_buffer[SUART_0_BUF_SIZE+1];以下のように、asm コードでアクセスしている C コードにバッファがあります。私がしたいのは、バッファにバイトを格納し、毎回s0_Rxbyteポインタをインクリメントすることだけです。s0_index's0_Rxbyte` は常にゼロ以外の値です。

Cコードのループでコンテンツを印刷しようとすると、まったく何も得られません。

雑然とするので、ここにすべてを添付したくありませんでした。

では、上記の asm コードに問題がある人はいますか?

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

linux - AVRISPMKIIはLinux上のAVRDUDEでは動作しません

プラグを抜き差しすると、システムは何かが差し込まれていることを確認します。

AVRISPMKIIはcdc-acmに依存する必要があります。

それで、それはそれをうまく見ることができるはずです、それでも私はそれに書くことができません。

戻り値

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

assembly - Arduino RTOS での初期タスクの作成

学校のコース用にリアルタイム オペレーティング システムを作成しています。初期プロセスのコンテキスト スイッチ (OS からプロセスへのハンドオーバー) を取得する際に多くの問題が発生しているため、問題を単純化して、どこで間違いを犯しているかを調べてみました。

次のコードで達成しようとしているのは、test_func アドレスをスタック ポインターに配置してから戻ることで、その関数のアドレスをプログラム カウンターにロードすることです。何が起こっているかというと、ボードが Arduino の setup() メソッドを再度呼び出して、プロセス全体を繰り返しているということです。

これは、ここ(pdf)にある FreeRTOS プロジェクト ガイドの例に従って行われました。これをArduino IDEでCファイルとして書いています。ご意見をお寄せいただきありがとうございます。

編集:

別のより単純な例を試してください。私はベルトスの実装を見ています: http://dev.bertos.org/wiki/ArduinoHowto。私は新鮮なスケッチから始めています:

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

sleep - Xmegaでのスリープ後にTWIトランザクションが失敗しました

Atmel Xmega256A3でスリープから復帰した後、TWI/I2Cでいくつかの問題が発生しました。TWI / I2Cの詳細を掘り下げる代わりに、AVR1308アプリケーションノートに添付されたAtmelから提供されたtwi_master_driverを使用することにしました。

問題は、スリープから復帰した直後に1つまたはいくつかのTWIトランザクションが失敗したことです。XMegaに接続されたI2Cバスには、いくつかのポテンショメータ、温度計、RTCがあります。XMegaはバス上の唯一のマスターとして機能します。

AVRLIBCにあるスリープ関数を使用します。

ピンを高く設定するRTCによってスリープから復帰したXMega。XMegaがスリープから復帰した後、ポテンショメータの1つに値を設定したいのですが、これは失敗します。何らかの理由で、TWIトランザクションの結果は、最初のトランザクションではTWIM_RESULT_OKではなくTWIM_RESULT_NACK_RECEIVEDになります。その後、すべてが再び機能するようです。

ここで何かを逃したことがありますか?XMega、スリープ、TWIに既知の問題はありますか?スリープから復帰した後、フラグをクリアするTWIをリセットする必要がありますか?

よろしくフレドリック