timer w SAM7

Aug 25, 2009 2 Replies

Witajcie,



Próbujê uruchomiæ timer1 na AT91SAM7S512. Na pocz±tek skopiowa³em z noty Atmela przyk³ad z PWM (

formatting link
). 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³...



Czy włączyłeś w PMC zegar do TC1 ?

Paweł

U¿ytkownik "Pawe³" snipped-for-privacy@neostrada.pl napisa³ w wiadomo¶ci news:h712g7$f$ snipped-for-privacy@nemesis.news.neostrada.pl...

Co¶ ruszylo :-))) Dziêkujê!!!

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required