問題タブ [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.
spi - Attiny 84 SPI トラブルによる RTC との通信
私は現在、ATtiny84 を使用して、SPI を介して RTC (DS1305) と通信し、可変時間ごとにブザーを振動させようとしています。DS1305 でアラーム 0 を設定しようとしています。ただし、84 には「技術的に」SPI はありません。SPIのようにプログラムできるUSIがあります。私のコードとボードの接続を確認して、何か問題があれば教えていただけないでしょうか。現在の問題は、SPI を介して通信を行うことができず、問題が何であるかを見つけるのに苦労していることです。
現在のボード接続:
ATtiny84 | DS1305
MOSI ------ ディ
味噌 ------ ド
USCLK ---- CLK
データシート:
arduino - ATTINY84: 逆のバイト順に関する奇妙な問題
6 つの値 (4x 3 ビット + 1 ビット) を 16 ビット整数にエンコードし、シリアル経由で ATTINY84 に転送して 2 バイトに分割しています。これは、バイトを 16 ビット int に再アセンブルするまでは問題なく動作します。
例:
0001110000001100
に変換7180
され、バイト配列に分割される次のバイナリ状態を送信しています[18, 28]
。
そのバイト配列を EEPROM に入れ、次の電源サイクルで読み取ります。
電源を入れ直した後、シリアル デバッグ出力は次のようになります。
素晴らしい。すべて良さそうで、その部分の私のコードは次のとおりです。
しかし今、最も奇妙なことが起こります。ビットごとの読み取りを行うと、次のように返されます。
経由:
ビット表現が完全に逆になります。そんなことがあるものか?または、何かが足りないのかもしれません。
また、元の値を受け取るために実際の 3 ビットの位置を抽出すると、0..7
すべてオフであることを確認しました。
どんな助けでも大歓迎です。