реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Не работает SSC в AT91RM9200, Подскажите, что не так в коде?
vlad242
сообщение Mar 9 2006, 08:23
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 27-02-06
Пользователь №: 14 743



Вот функция, взята из примера, а не работает, что здесь не так?
Заранее всем благодарен!

//*--------------------------------------------------------------------------------------
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
 
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 08:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01334 секунд с 7
ELECTRONIX ©2004-2016