Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает PWM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Пришелец
Может кто сталкивался - не хочет генерить на ножку - зараза

Код
    //* Configure PMC by enabling PWM clock
        AT91F_PWMC_CfgPMC ();    
    AT91F_PWMC_StopChannel(AT91C_BASE_PWMC,AT91C_PWMC_CHID0);
//    AT91C_BASE_PWMC->PWMC_MR = (( 0 << 8 ) | 13);
    AT91F_PWMC_CfgChannel(AT91C_BASE_PWMC,AT91C_PWMC_CHID0,1,13,6);
    AT91F_PWMC_StartChannel(AT91C_BASE_PWMC,AT91C_PWMC_CHID0);
        Tmp = AT91C_BASE_PWMC->PWMC_ISR;
        Tmp = Tmp;    
    //* Enabling a PWM output through the PIO
        AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA,  AT91C_PA0_PWM0, 0);
DASM
В PMC_MCKR 10-ый бит разрешения тактирования PWM контроллера включен ?
SpiritDance
Инициализировать надо все имеющиеся каналы, а потом нужные включать(давать старт). Прочитайте абзац initialization, там по пунктам все. wink.gif
DASM
Цитата(SpiritDance @ Nov 8 2006, 17:22) *
Инициализировать надо все имеющиеся каналы, а потом нужные включать(давать старт). Прочитайте абзац initialization, там по пунктам все. wink.gif

а лана, и без этого работает
Пришелец
Всем спасибо!

Но дело было вот в чём:
AT91F_PWMC_CfgChannel(AT91C_BASE_PWMC,AT91C_PWMC_CHID0,1,13,6);

этой ф-ции в качестве параметра нужен номер канала
а AT91C_PWMC_CHID0 это маска бита данного канала т.е. 1<<0 (настраивался первый канал вместо нулевого)

AT91F_PWMC_CfgChannel(AT91C_BASE_PWMC,0,1,13,6); так всё работает
DASM
хихи. Скольким уж людям я советовал не использовать эти дурацкие макросы... Поверьте, Вы не первый на них наступили smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.