-
Data: 2009-08-25 08:36:01
Temat: timer w SAM7
Od: "marcin" <m...@n...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witajcie,
Próbuję uruchomić timer1 na AT91SAM7S512. Na początek skopiowałem z noty
Atmela przykład z PWM (
http://www.atmel.com/dyn/resources/prod_documents/do
c2682.pdf ). SAM7
pracuje pod kontrolą freeRTOS. Kod wygląda tak:
void initTimer1()
{
AT91C_BASE_TC1->TC_CCR = TC_CLKDIS ; /* Disable the Clock Counter
*/
Io_SetPeripheralB( IO_PA15 );
Io_SetPeripheralB( IO_PA16 );
Io_PioDisable( IO_PA15 );
Io_PioDisable( IO_PA16 );
// *PIO_PDR = (1<<15) ; /* Define TIOA1 and TIOB1 as peripheral */
// * Timer/Counter 1 mode configuration
AT91C_BASE_TC1->TC_CMR =
TC_BSWTRG_SET_OUTPUT | /* BSWTRG :
software trigger set TIOB */
TC_BCPC_TOGGLE_OUTPUT | /* BCPC :
Register C compare toggle TIOB */
TC_BCPB_TOGGLE_OUTPUT | /* BCPB :
Register B compare toggle TIOB */
TC_ASWTRG_SET_OUTPUT | /* ASWTRG :
software trigger set TIOA */
TC_ACPC_TOGGLE_OUTPUT | /* ACPC :
Register C compare toggle TIOA */
TC_ACPA_TOGGLE_OUTPUT | /* ACPA :
Register A compare toggle TIOA */
TC_WAVE | /* WAVE :
Waveform mode */
TC_CPCTRG | /* CPCTRG :
Register C compare trigger ena */
TC_EEVT_XC0 | /* EEVT :
XC0 as external event (TIOB=out */
TC_CLKS_MCK2 ; /* TCCLKS : MCK
/ 2 */
// Compare registers initialization
AT91C_BASE_TC1->TC_RC = 0x80E8 ; /* 1kHz PWM
generation */
AT91C_BASE_TC1->TC_RB = 0x4074 ; /* 30% duty cycle on
TIOB1 */
AT91C_BASE_TC1->TC_RA = 0x26AC ; /* 50% duty cycle on
TIOA1 */
AT91C_BASE_TC1->TC_CCR = TC_CLKEN ; /* Enable the Clock
counter */
AT91C_BASE_TC1->TC_CCR = TC_SWTRG ; /* Trig the timer */
}
Wg. noty Atmela po wykonaniu tego kodu powinienem mieć na TIOA1 i TIOB1 dwa
przebiegi PWM 1kHz, niestety jest głucha cisza. Pewnie popełniam jakiś
"oczywisty błąd". Z tego co się orientuję, to freeRTOS włada jedynie timerem
TC0, TC1 jest do pełnej dyspozycji programisty. Nie mam pomysłu, to mój
pierwszy program na ARM i freeRTOS zarazem, i utknąłem w ciemnej d...
Ogólnie system żyje, mogę majtać tymi liniami z poziomu PIO, timingi i
wszelkie inne objawy życia freeRTOS są w porządku.
Proszę o pomoc jeżeli ktoś ma jakiś pomysł...
--
Pozdrawiam grupę!
Marcin
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek