Пытаюсь проинициализировать SSC в SAM7S256.
Работаю в последнем Микровижн от Keil.
Код такой:
Код
pPMC->PMC_PCER = (1 << AT91C_ID_PIOA) | (1 << AT91C_ID_SSC);
pSSC->SSC_CMR = 2; //SSC Clock = MCLK/4
pSSC->SSC_CR = AT91C_SSC_SWRST; //Software reset
pSSC->SSC_TCMR = AT91C_SSC_CKO_DATA_TX; //Transmitter clock mode
pSSC->SSC_TFMR = 15 | AT91C_SSC_MSBF; //16 bit data word, MSB first
pSSC->SSC_CR = AT91C_SSC_TXEN; //Enable transmitter
Но в симуляторе бит включения передатчика (AT91C_SSC_TXEN) в регистре SSC_CR не устанавливается.
Ни этим кодом, ни напрямую записью через окно SSC. Вообще ни один бит в этом регистре в симуляторе не установить

Баг симулятора?
Также интересно - начальное состояние (после сброса) битов TXEMPTY и TXRDY в регистре статуса SSC_SR равно 0, то есть это значит, что передатчик занят, но как он может быть занят после ресета?
Наверное, эти биты должны устанавливаться в 1 после включения передатчика, но в симуляторе это не получается...
ЗЫ: Ещё один косяк кейловского симулятора - панели с регистрами SPI вообще нет, как будто у сэма нету никакого SPI...