Я конечно извиняюсь за недоразумения и попытаюсь разъеснить мою проблему ещё раз. мой микроконтроллер называется lpc2220 и я провожу следующие операции. 1. я ставлю P0.4, P0.6, P0.17, P0.19 (SCK0, MOSI0, SCK1, MOSI1) на 0 IO0CLR |= (P0.4 | P0.6 | P0.17 | P0.19);
2. я ставлю эти же пины как "output" IO0DIR |= (P0.4 | P0.6 | P0.17 | P0.19);
3. PINSEL0/1 PINSEL0 |= 0x00001100 (P0.4 == SCK0, P0.6 == MOSI0); PINSEL1 |= 0x00000088 (P0.17 == SCK1, P0.19 == MOSI1);
4. Clock Counter = 8 SPCCR0 |= 0x08; SPCCR1 |= 0x08; 5 SPCR S0SPCR |= 0x0824; (BitEnable = 1, CPHA = 0, CPOL = 0, MSTR = 1, LSBF/SPIE = 0, BITS = 8) S1SPCR |= 0x0824; (BitEnable = 1, CPHA = 0, CPOL = 0, MSTR = 1, LSBF/SPIE = 0, BITS = 8)
6. потом я питаюсь отослать даты с помощу следующего кода int SPI_write (void) { unsigned char result; SPDR = data; // send next SPI channel 0 data while (!(SPSR & 0x80)) ; // wait for transfer completed return (0); } 7. ПРОБЛЕМА Если смотреть на регистры то всё идёт нормально но если подсоединить осцилоскоп то из чипа не одного сигнала невыходит
я переделал код для SPI1 и настроил SSP как SPI ... всё работает нормально как и надо а вот если без SSP то никаких сигналов снаружи микроконтроллера неувидиш
--------------------
spi
|