LPC2378, та же проблема - не удаётся оживить SPI.
Код
//SCK
PINSEL3_bit.P1_20 = 3; //SCK0
FIO1CLR_bit.P1_20 = 1; //low
FIO1DIR_bit.P1_20 = 1; //output
PINMODE3_bit.P1_20 = 2; //no pull-up
//SSEL
PINSEL3_bit.P1_21 = 3; //SSEL0
FIO1SET_bit.P1_21 = 1; //high
FIO1DIR_bit.P1_21 = 1; //output
PINMODE3_bit.P1_21 = 0; //pull-up
//MISO
PINSEL3_bit.P1_23 = 3; //MISO0
FIO1DIR_bit.P1_23 = 0; //input
PINMODE3_bit.P1_23 = 0; //pull-up (вход выведен на разъём)
//MOSI
PINSEL3_bit.P1_24 = 3; //MOSI0
FIO1CLR_bit.P1_24 = 1; //low
FIO1DIR_bit.P1_24 = 1; //output
PINMODE3_bit.P1_24 = 2; //no pull-up
//SPI
PCLKSEL0_bit.PCLK_SPI = 3; //PCLK_SPI = CCLK/8
S0SPCCR = 0x80; //prescaler
S0SPCR = 1<<5 /*MSTR*/;
После записи в S0SPDR через некоторое время выставляется флаг SPIF в S0SPSR; тем не менее, активности на ногах MOSI, SCK не наблюдается. Выходом SSEL управляю через FIOSET/FIOCLR; пробовал выставлять его в режим GPIO. Внешний подтягивающий к 3,3В 10кОм резистор на SSEL ставил. Программный SPI работает без проблем.