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

 
 
> Проблема с ТС в режиме генерации импульсов, Atmel SAM7S
DDK
сообщение Oct 5 2011, 08:30
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 4-10-11
Пользователь №: 67 532



Ситуация такая.
Нужно сгенерировать две последовательности импульсов со сдвигом переднего фронта второго сигнала, относительно первого.

Код инициализации ТС0

CODE
// Разрешили clock PIO
*AT91C_PMC_PCER = 1UL << AT91C_ID_PIOA;

//========= Инициализация ТС0 ========//

// Переключили PIO на TC0
*AT91C_PIOA_PDR = AT91C_PA0_TIOA0 | AT91C_PA1_TIOB0;
*AT91C_PIOA_BSR = AT91C_PA0_TIOA0 | AT91C_PA1_TIOB0;

// Разрещили clock TC0
*AT91C_PMC_PCER = 1UL << AT91C_ID_TC0;

// Установка моды
*AT91C_TC0_CMR = AT91C_TC_BSWTRG_CLEAR | AT91C_TC_BCPC_CLEAR | AT91C_TC_BCPB_SET |
AT91C_TC_ASWTRG_CLEAR | AT91C_TC_ACPC_CLEAR | AT91C_TC_ACPA_SET |
AT91C_TC_WAVE | AT91C_TC_WAVESEL_UP_AUTO |
AT91C_TC_CLKS_TIMER_DIV2_CLOCK;
// Заносим значение счетчиков
*AT91C_TC0_RA = 100;
*AT91C_TC0_RB = 200;
*AT91C_TC0_RC = 300;


// Запускаем девайс
*AT91C_TC0_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG;


По идее на выходе TIOB должен получиться сдвинутый на 100 тактов фронт, относительно TIOА. Но не тут-то было sad.gif

PA0_TIOA0 исправно генерит, а PA1_TIOB0 тупо в единице.

Оговорюсь, что используется DeveloperBoard, и JLINK JTAG, так что вопросов к соплям монтажа быть не может.
Самое любопытное, что в отладчике IAR бит TC0_SR->MTIOB не дергается, и факт перепада на выходе TIOB не фиксируется в регистре PIOA_ISR.

В чем косяк?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 08:59
Рейтинг@Mail.ru


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