問題タブ [attiny]

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 投票する
10 に答える
2357 参照

algorithm - tinyAVR: 8 ビットおよび 16 ビット因数用の最もよく知られている乗算ルーチン?

「avr200b.asmより速い」?いずれの命令も実装していない Atmel の AVR ファミリのプロセッサ用のmpy8uavr200b.asm からの-routineMULは、かなり一般的なように見えますが、mpy16u両方の下位結果バイトを 8 回ではなく 16 回ローテーションするため、ずさんに見えます。Antonioは、高速な 16×16→16コール/リターンのオーバーヘッドを除く 64 サイクルのワースト ケースを使用した符号なし乗算。最適化の目標として、ワースト ケースのサイクル カウントワード カウント(RAM およびフラッシュ)、レジスタの使用量予想されるサイクル カウントを、優先度の低い順
に任意に提案します。 (芯の減りあり
AVR (「一桁」-ATtiny、10/20/40) には、タイミングなどの違いがありますが、無視することをお勧めします。)

(注意: 少なくとも独立した確約がなければ、ここでの主張を当然のことと考えないでください。)

現在知られている 8×8→8/16、16×16→16/32、および 16×8→16/24 の AVR なしのビット乗算ルーチンはMULどれですか?

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

arduino - AtTiny85 と Arduino 間の簡単な通信 (I2C)

こんにちは、arduino pro mini を I2C 経由で AtTiny85 に接続したいと考えています。

arduino は attiny に LED をオンまたはオフにするように指示する必要があります。arduino は、私の attiny の LED をオンに切り替えることができますが、オフになることはありません。

理由がわかりません。

マスターとスレーブのコードは次のとおりです。

主人:

スレーブ:

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

avr - Attiny85 のプログラミング

AVR Studio 4 を使って書いたプログラムを ATtiny85 にアップロードする方法を考えていました。私は基本的にこのチュートリアルhttp://blog.smileymicros.com/smileys-workshop-10-moving-beyond-arduino/を使用していましたが、atmega328 の代わりに attiny85 を使用してすべてを実行していました。HighLow tech の ATtiny ライブラリから pins_arduino.h を取得しました。

AVR Studio 4 で正常にコンパイルできましたが、Attiny85 にアップロードする方法を知りたいと思っています。

ありがとう

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

c - ATTiny と Atmel Studio での 32 ビット数の処理

ATTiny、特に ATTiny24 が 32 ビットの符号なし int をメモリに格納する方法を知りたいです。32 ビット値を取得して、EEPROM の 32 ビット位置に書き込もうとしています。単純なマスクを使用しようとしましたが、試行するたびに、下位 2 バイト (lsb) が正しく取得され、上位 2 バイトはすべてゼロになります。たとえば、0x12345678 を書き込もうとすると、出力は 0x00005678 になります。設定する必要がある Atmel Studio の設定はありますか、それともマスキング以外の方法を使用する必要がありますか?

最終的には、32 ビットのカウンター値を読み取り、それを EEPROM の特定の場所に書き込めるようにしたいと考えています。現在、既存の回路の修正に取り組んでいるため、シリアル出力でデバッグする余裕がありません。

コード スニペット:

主に:

機能:

EEprom_Long_Write:

EEPROM_書き込み:

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

c++ - TinyWireS ライブラリの I2C アドレスの問題を修正

最近、I2C (スレーブ) ライブラリTinyWireSで発生した問題を投稿しました。なんらかの理由で、63 を超えるスレーブ アドレスを使用できませんでした。

この問題を解決するために、新しいスレッドを開始したいと思います。

私のプロジェクトの詳細については、こちらの前回の投稿で確認できます。マスターとスレーブのコードと回路は同じままです。

私が見つけたもの:

マスターが特定のアドレスでスレーブと通信しようとすると、スレーブは ISR 関数を呼び出します (ファイル: usiTwiSlave.c 行: 569)。この関数は、アドレスが正しいかどうかをチェックするため、マスターが別のスレーブに送信する場合でも呼び出されます。

しかし:

マスターにスレーブに接続するように指示すると > 63 ISR が実行されません。残念ながら、ISR 関数がどこで呼び出されているかわかりませんでした。すべてのファイルを検索しましたが、「親」関数が見つかりませんでした。

私はバグを見つけるのに近づいていると確信していますが、C/C++ の経験はあまりありません。

あなたが私を助けてくれることを願っています!