-
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
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
Najnowsze wątki
- 2024-12-28 Śmiechu KOOOOOOPA ;-)
- 2024-12-29 Pomiar amplitudy w zegarku mechanicznym
- 2024-12-28 Antyradar
- 2024-12-28 Deweloper przegral w sadzie musi zwrócic pieniądze Posypia sie kolejne pozwy?
- 2024-12-28 Warszawa => Full Stack .Net Engineer <=
- 2024-12-28 Warszawa => Sales Assistant <=
- 2024-12-28 Warszawa => Programista Full Stack .Net <=
- 2024-12-28 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-28 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-28 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-28 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-12-28 Żerniki => Employer Branding Specialist <=
- 2024-12-28 ale zawziętość i cierpliwość
- 2024-12-27 most kilometrowy
- 2024-12-27 Dyplomaci a alkomaty