問題タブ [pic18]
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.
c - PN532 NFC リーダーから PIC18F への間違った情報の受信
itadstudio.com から PN532 NFC リーダーを購入し、SPI を介して PIC18F4520 と接続しようとしています。
メーカーから入手できる C ドライバーがないため、adafruit PN532 Arduino ドライバーに基づいており、ATMega に適合したこのドライバーに依存しています。
これまでのところ、ドライバーに変更を加えたのは 1 つだけです。PN532 はデータが LSB ファーストであることを想定しており、PIC はハードウェアでこれを処理できないため、次の行を追加しました。
SPIwrite関数で MSB を LSB に変換し、LSB を MSI readSPIdata関数に変換します。
ただし、pn532_packetArray[5] が 0x15 と等しくないSAMConfig関数でエラーが発生し続けるため、1 が返されず、 readPassiveTargetID関数でも、NFC タグが設定されているにもかかわらず、pn532_packetArray[7] が常に 0 に等しくなります。現在。pn532_packetArray[5] をコメントアウトすると、タグから何らかの形式の ID を読み取ることができますが、それが正しくないことは確かです。
他のすべてのチェックサムとsendCommandCheckAck関数はすべて正しく機能します。ドライバーに対してコードを繰り返しチェックしました。私はこの段階で髪を引っ張っているので、助けや提案があれば大歓迎です.
正確なコードは次のとおりです。
したがって、問題は readSPIData 関数にあるに違いないと考えています。
SPI 読み取り機能は基本的なものです。
誰でも障害を見つけることができますか?
c - PIC18LF6722 の優先度の高い受信割り込みで UART を初期化します。
最後の行で、RCSTA2bits.CREN を 0 に設定する必要があるのはなぜですか? oに設定されている場合、入ってくるデータをどのように受け取ることができますか?
優先度の高い受信割り込みで UsART2 を初期化します
これは私の高い割り込みコードです
これは私の低割り込みコードです
ページ 106 0F http://www.flexipanel.com/Docs/Toothpick%202.1%20DS484.pdf
このコードは機能していません。理由がわかりません。それを手伝ってもらえますか?
c - 高優先度の受信割り込みで UART を初期化する理由 RCSTA2bits.CREN = 0;
最後の行については、PIC18LF6722 を使用する RECEIVE ENABLE FLAG をクリアする理由がわかりません
pic - picc コードの __18CXX と __PCB__ の意味は何ですか
コンパイラ関連のコードの次の行をよく見かけます。
と
それぞれの意味をどうやって知ることができますか?
assembly - pic18f からポートを読み取り、何かを行う
PORTA
( RA0
, )から最初の 2 ビットを読み取って、それらを操作するにはどうすればよいRA1
ですか? 私はそれらのそれぞれにスイッチを接続しており、両方がのとき1
に onを出力したいと考えています。RB1
RA0
RA1
1
PORTA
入力およびPORTB
出力として構成しました
そして、ループでPORTA
値を連続して読み取り、最下位 2 ビットが にあるかどうかを確認したいと考えてい1
ます。そのために、WREGに移動した後の値PORTA
と比較します。0x03
PORTA
アドレス0x02
には、以前に値を保存しました0x03
しかし、うまくいきません。理由はわかりません。
どうもありがとう
pic18 - main 関数は理由もなく繰り返されます
こんにちはみんな助けてください... void main() 関数が while ループなしで繰り返し続ける理由がわかりません。LCD には、最初に「IN PROGRESS」(ステータス 1) が表示され、次に「IDLE MODE」(ステータス 2) が表示され、500ms の遅延の後、「IN PROGRESS」(ステータス 1)、「IDLE MODE」(ステータス 2) が繰り返し表示され、「SPI MODE」は表示されません。 (status3). 何が起こっているのかわかりません. マイクロコントローラ自体がリセットされている可能性があります. 助けていただければ幸いです. 私はC18コンパイラでMPLAB IDEv8.92を使用しています.よろしくお願いします.
pic - hexファイルをpicに書き込む方法は?「ハードウェア」
こんばんは ..
私はマイクロコントローラの初心者です..
私は「pic 16」のコースを勉強しました。私が知っていたように、pic16 には 16 進ファイルを ROM に書き込むための外部デバイスが必要です。
今、私はpic24を研究したいと思います.そして、私はpic24でusbと呼ばれるものを見つけました..
USB経由で外部デバイスなしでhexファイルを書き込むことはできますか?? または、これは hex ファイルの書き込みに関連しない別の用語ですか??
追加のデバイスなしでファイルを書き込む方法はありますか??
そしてpic32にもありますがkit3を使わずに直結できるタイプはありますか??
kit3 は買いたくない :\
kit3 はすべての種類の pic マイクロコントローラー (16,24,32) をプログラミングできますか??
延長すみません
ありがとうございました
pointers - 構造体での PIC PORT アドレスの使用
関数を使用して構造体を介してPORTアドレスを渡そうとしていましたが、ポインターを使用した作業を修正する方法がわかりません。これが私の構造体と関数のコードです:
私はそれを正しく行っていないことが判明し、ポートを正しく読み取ったり制御したりできません。Mikroelectronic PRO コンパイラを使用しています。