--_003_40B39918824B4E389039539904D3739Civp1_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Another couple of things to slow me down with the dsPIC33...802 Below is the set-up for the SPI module, following that a little code Attached is the analyser capture of two versions of that code. The top group, waiting for SPIRBF to set, the lower group not waiting The two things - (1) the device is sending the correct response, 0x01, at the correct time (the second byte of SCKs) but it doesn't appear that the data gets into SPIBUF through the pin. TRISB is set only once, and it would appear to be an input as the signal on SDI is good. Setting RP11 as SDI, well, I have to assume that the connection is made inside the PIC. The Unlock sequence has been done. The UART is remapped and that works fine, as do SCK and SDO come out of the assigned pins (2) why does SPIRBF appear to be set after the first set of 8 SCK and yet not after the second ? It might possibly be that (1) is true - new data is not getting into the shift register after the first read of SPIBUF and s= o therefore the flag will not be re-set Tried 3 PICs, all new, no change, so it'll be something I'm doing or not doing, but I've not spotted it yet. And I can't see anything else that need= s to be done to remap, and particularly as all the other pin assignments work anyway. I don't want to assume that because there's a recognised fault with SPITBF that there could be a silicon gotcha with SDI Any thoughts ? Someone with a similar problem, but with SDI on RB0 http://www.microchip.com/forums/m594951.aspx Joe mov #0b0000100000001010,w0 ; 0000 ; 1 SDI1 ; 0 /CS ; 0 ; 0 SCK1 ; 0 SDO1 ; 0 En ; 0 RS ; 1 /CTS (in) ; 0 TX ; 1 RX ; 0 /RTS (out) mov w0,TRISB ; SPI Din b7 SDO1 00111 RPn tied to SPI1 Data Output ; Clk b8 SCK1 01000 RPn tied to SPI1 Clock Output ; /CS b10 SPI /SS ; Dout b11 SPI1 RPINR20 SDI1R<4:0>, data from card ; ; RP7 =3D Din (card), SDO o/p ; RP8 =3D Clk SCK o/p ; RP10 =3D /CS /SS o/p ; RP11 =3D Dout (card) SDI i/p mov #0b0000011100000000,w0 ; ---00111---xxxxx ;RP7 as SDO1 mov w0,RPOR3 mov #0b0000000000001000,w0 ;RP8 as SCK1 ; ---xxxxx---01000 mov w0,RPOR4 mov #0b0000000000001011,w0 ; ---xxxxx---01011 ;RP11 as SDI1 mov w0,RPINR20 mov #0b1000000000000000,w0 ; 1 SPI enable ; x ; 0 discontinue in idle ; xxxxxx ; x SPIROV flag ; xxxx ; x SPITBF, transmit buffer=20 full/empty ; x SPIRBF, receive buffer=20 full/empty mov w0,SPI1STAT mov #0b0000000100101101,w0 ;initialise at 368.64kHz ; xxx ; 0 Clk controlled by module ; 0 SDO controlled by module ; 0 8-bit transfers ; 0 input sampled in middle of bit ; 1 CPHA =3D 0, data change on fall= ing=20 edge ; 0 /SS as normal I/O pin ; 0 CPOL =3D 0, idle low ; 1 Master ; 011 secondary pre-scale 5:1 ; 01 primary pre-scale 16:1 ->=20 368.64kHz (29.4912/80) mov w0,SPI1CON1 mov #0xff,w0 ;supply CLK, wait for response call send_w0 ;with SDO high (FF data) bset LATA,#ri ;indicator btss SPI1STAT,#SPIRBF ;test for full receive buffer bra $-2 mov SPI1BUF,w2 ;read buffer, *should* clear=20 SPIRBF ; mov SPI1BUF,w0 ;dummy reads ? ; mov SPI1BUF,w0 mov #0x30,w0 ;add #30 for display add w0,w2,w0 mov w0,[w5++] ;store in RAM for display later bclr LATA,#ri ;indicator ; call usec100 ;delay ? no difference mov #0xff,w0 call send_w0 bset LATA,#ri btss SPI1STAT,#SPIRBF bra $-2 mov SPI1BUF,w2 mov #0x30,w0 add w0,w2,w0 mov w0,[w5++] bclr LATA,#ri ; call usec100 mov #0xff,w0 call send_w0 bset LATA,#ri btss SPI1STAT,#SPIRBF bra $-2 mov SPI1BUF,w2 mov #0x30,w0 add w0,w2,w0 mov w0,[w5++] bclr LATA,#ri=20 --_003_40B39918824B4E389039539904D3739Civp1_ Content-Type: image/gif; name="SPIRBF.gif" Content-Description: SPIRBF.gif Content-Disposition: attachment; filename="SPIRBF.gif"; size=4187; creation-date="Fri, 12 Aug 2011 04:11:07 GMT"; modification-date="Fri, 12 Aug 2011 04:11:07 GMT" Content-Transfer-Encoding: base64 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 /Aq18Bi2Cum7mOvLvipWAAAAOw== --_003_40B39918824B4E389039539904D3739Civp1_ Content-Type: text/plain; name="ATT00001.txt" Content-Description: ATT00001.txt Content-Disposition: attachment; filename="ATT00001.txt"; size=208; creation-date="Fri, 12 Aug 2011 04:11:07 GMT"; modification-date="Fri, 12 Aug 2011 04:11:07 GMT" Content-Transfer-Encoding: base64 LS0gDQpodHRwOi8vd3d3LnBpY2xpc3QuY29tIFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUNClZp ZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0DQpodHRwOi8vbWFpbG1hbi5taXQu ZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdA0K --_003_40B39918824B4E389039539904D3739Civp1_-- .