wwweider
May 27 2011, 03:08
//vvvvvvvvvvvv spiout-port vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
for (bb=0;bb<8;bb++)
{ outt=(spiout>>(7-bb))&1;
_LATB13=outt; // out
_LATB10=0; //clk
_LATB10=1; //clk
}// next bb
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//SPI1BUF = spiout;
//while(!SPI1STATbits.SPIRBF);
//c = SPI1BUF;
выше вывожу напрямую в порт работает нормально
ниже тоже самое пытаю сделать spi какойто сдвиг что буквы сьезжают надпись изковеркана(
может быть спай добавляет каких то байт (
контроллер ds pic 33fj128
wwweider
May 27 2011, 04:15
проблемма решена! сменил фронт клока
SPI1CON1 = 0b0000000100111001;
за него отвечает восьмой бит регистра SPI1CON1
bit 8 CKE: SPIx Clock Edge Select bit
(1)
1 = Serial output data changes on transition from active clock state to Idle clock state (see bit 6)
0 = Serial output data changes on transition from Idle clock state to active clock state (see bit 6)