Вот функция, взята из примера, а не работает, что здесь не так?
Заранее всем благодарен!
//*--------------------------------------------------------------------------------------
void polling0(void)
{
//* Configure SSC1 PIOs TF/TK/TD
/*
*AT91C_PIOB_PDR= AT91C_PB1_TK0 |
AT91C_PB2_TD0 |
AT91C_PB0_TF0 ;
//* Configure PMC by enabling SSC1 clock
*AT91C_PMC_PCER |= 1 << AT91C_ID_SSC0; /* enable the SSC1 peripheral clock */
//* Reset All the Peripheral
*AT91C_SSC0_CR = AT91C_SSC_SWRST ;
//* Clear Transmit and Receive Counters
AT91F_PDC_Close((AT91PS_PDC) &(pSSC->SSC_RPR));
//* Define the Clock Mode Register
// for MCK ei 60000000 => 21
*AT91C_SSC0_CMR = 0x15;
*AT91C_SSC0_TCMR = ((((BITS_BY_SLOT*SLOT_BY_FRAME*2)) -1) <<24) |
//AT91C_SSC_START_FALL_RF |
AT91C_SSC_START_CONTINOUS|
AT91C_SSC_CKO_CONTINOUS | // continuous transmit clock
AT91C_SSC_CKS_DIV; // Divided clock
//set AT91C_SSC_STTOUT in TCMT +\ with out no work FOR VERSION BEFORE Rev F
*AT91C_SSC0_TFMR =
AT91C_SSC_FSOS_POSITIVE |
AT91C_SSC_FSDEN |
AT91C_SSC_DATDEF |
(((BITS_BY_SLOT-1)<<16) & AT91C_SSC_FSLEN) | // Fslen => 16 Clock
(((SLOT_BY_FRAME-1)<<8) & AT91C_SSC_DATNB) | // 2 Data by frame
AT91C_SSC_MSBF | // MSB in first
(BITS_BY_SLOT-1) ; // 16 bits
//* Enable TX
* AT91C_SSC0_TSHR = 0x1111;
*AT91C_SSC0_CR = AT91C_SSC_TXEN; /* Enable Tx */
data_out= 0x8002;
data_out0= 0x4001;
pool =1;
}
Прикрепленные файлы
1.txt ( 8.01 килобайт )
Кол-во скачиваний: 158