-
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
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
Najnowsze wątki
- 2025-11-14 "Partia rządzi, partia radzi. Partia nigdy cię nie zdradzi..."
- 2025-11-14 Czyja PRAWNA wina: Ukraina zestrzeliła ruski pocisk Iskander na ambasadę Azerbejdżanu
- 2025-11-14 Warszawa => Junior Rekruter <=
- 2025-11-14 Myślenice => Specjalista ds. kontrolingu <=
- 2025-11-14 Warszawa => Fullstack PHP Developer <=
- 2025-11-14 Warszawa => Mid/Senior IT Recruiter <=
- 2025-11-14 Zakrzewo => SAP HCM Consultant <=
- 2025-11-14 zagadka pneumatyczna
- 2025-11-14 Serwis Kii w Warszawie
- 2025-11-14 Warszawa => IT Recruiter <=
- 2025-11-14 Warszawa => Senior Microsoft Dynamics 365 Business Central Consultant
- 2025-11-14 Warszawa => Senior Microsoft Dynamics 365 Business Central Konsultant
- 2025-11-14 Wrocław => Programista React ze znajomością C++ <=
- 2025-11-14 Lublin => Programista Delphi <=
- 2025-11-14 Zabójstwo dzika




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei