問題タブ [lockbits]
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.
avr - AVR studio エラー "Got 0xc0, expected 0x00"
そのため、私が設計した ATmega 2560 を使用するボードが 5 つあります。それらはすべて適切に配線されており、最初は AVRISP mk2 を使用して AtmelStudio スタジオと通信できました。最初のボードはフラッシュでき、ロック ビットがセットされ、ヒューズがセットされ、その後もプログラマと通信することができました。2 番目のボードは、最初はプログラムをフラッシュし、ロック ビットを設定することができましたが、ヒューズを設定した後、次のエラーが発生しました。
「プログラミング モードに入ることができませんでした。ispEnterProgMode: Error status received: Got 0xc0, expected 0x00 (ツールでのコマンドの実行に失敗しました)
プログラミングモードに入ることができません。デバイスの選択、インターフェイスの設定、ターゲットの電源、セキュリティ ビット、およびターゲット デバイスへの接続を確認してください。」
デバイスの署名を読み取ることさえできませんでした。おそらくチップの故障だと思いましたが、他に3つのボードを使用していたので、無視しました。3 番目のボードをプログラミングするときに、同じ手順を実行したところ、同じエラーが発生しました。しかし、同じことをすると、4番目のボードが機能しました。
私はまだ AVR シーンに慣れていないので、壊れた 2 つのボードを機能させるための助けをいただければ幸いです。水晶振動子 (16MHz)、プログラマー、または ISP クロック (125kHz) に問題があるわけではないことはわかっています。&それは配線の問題ではありません。欠陥のあるチップを消去しようとしましたが、消去できず、同じエラーが発生し続けました。チップを在庫にリセットする方法、またはチップとの通信を再確立する方法はありますか?
手順は次のとおりです。 1) チップをフラッシュ 2) ロック ビットを「0xCF」に設定 3) ヒューズを「EXTENDED 0xFD」、「HIGH 0xD8」、「LOW 0xFF」に設定 4) チップを再度フラッシュし、エラーを受信。
c# - バイト配列をビットマップにコピーするときに、LockBits が間違ったストライドになるようです
単純なバイト配列を 8 ビットのインデックス付きビットマップにコピーしようとしています。多くのフォーラムで無数の回答済みの質問に示されているのとまったく同じコードを使用しても、まだ間違った結果が得られます。画像ファイルに書き込もうとしているデータは 360 バイトで、18x20 バイトの線形配列として設定されています。つまり、最初の 18 バイト (0-17) は画像の一番上の行に属し、次の 18 バイト (18-35) は 2 番目の行に属します。 Excel で手動で解析します (セルの背景色を設定して視覚化することもできます)。ただし、C# のコードを使用してこれを抽出しようとすると、間違った形式の画像が表示されます。これがコードです...
結果は次のとおりです。最初の行は正しく書かれています。ただし、2 行目以降は 2 バイトのオフセットがあります。つまり、イメージの 2 行目の最初のバイトは、バイト #18 (0 から始まる) ではなく、バイト #20 になります。また、LockBits 呼び出しの直後にブレークポイントを設定すると、幅が明確に 18 に設定されているにもかかわらず、bmpData の「ストライド」プロパティが 20 に等しいことがわかります。図 18 では、LockBits の後、返されたビットマップには影響しません。なぜこうなった?助けてください、ありがとう。