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

 
 
> SAM7 и счетчик в режимме захвата
3.14
сообщение Nov 22 2006, 11:05
Сообщение #1


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Нужно чтоб счетчик измерял длительность импульса.
1) отключаю PIO от пинов TIOA0, TIOB0 (это вообще нужно?)
2) выбираю пин TIOB в качестве внешнего перезапуска
3) выбираю фронт для по которому будет загружаться значение в регистра RA/RB
Перезапуск по фронтам с внешнего пина происходит нормально, а вот загрузка счетчика в RA/RB не проходит sad.gif


Вот инит
Код
AT91F_TC_Open(AT91C_BASE_TC0,TC_CLKS_MCK1024 | AT91C_TC_LDRB | AT91C_TC_LDRA | AT91C_TC_ETRGEDG_RISING ,AT91C_ID_TC0);
void AT91F_TC_Open ( AT91PS_TC TC_pt, unsigned int Mode, unsigned int TimerId)
{
    unsigned int dummy;
    AT91C_BASE_PIOB->PIO_PDR = AT91C_PIO_PB24;
    AT91C_BASE_PIOB->PIO_PDR = AT91C_PIO_PB23;
    AT91C_BASE_PIOA->PIO_PDR = AT91C_PIO_PB24;
    AT91C_BASE_PIOA->PIO_PDR = AT91C_PIO_PB23;
    //* First, enable the clock of the TIMER
        AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1<< TimerId );
    //* Disable the clock and the interrupts
    TC_pt->TC_CCR = AT91C_TC_CLKDIS;
    TC_pt->TC_IDR = 0xFFFFFFFF;
    //* Clear status bit
        dummy = TC_pt->TC_SR;
    //* Suppress warning variable "dummy" was set but never used
        dummy = dummy;
    //* Set the Mode of the Timer Counter
    TC_pt->TC_CMR = Mode;

    //* Enable the clock
    TC_pt->TC_CCR = AT91C_TC_CLKEN;
}

ЗЫ как воротит от доки атмеля, будь то телефонный справочник читаешь


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 05:46
Рейтинг@Mail.ru


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