-
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.neostrada.pl!atlantis.news.
neostrada.pl!news.neostrada.pl!not-for-mail
From: "marcin" <m...@n...pl>
Newsgroups: pl.misc.elektronika
Subject: timer w SAM7
Date: Tue, 25 Aug 2009 10:36:01 +0200
Organization: TP - http://www.tp.pl/
Lines: 63
Message-ID: <h708cm$h85$1@nemesis.news.neostrada.pl>
NNTP-Posting-Host: igu50.internetdsl.tpnet.pl
X-Trace: nemesis.news.neostrada.pl 1251189974 17669 79.189.176.50 (25 Aug 2009
08:46:14 GMT)
X-Complaints-To: u...@n...neostrada.pl
NNTP-Posting-Date: Tue, 25 Aug 2009 08:46:14 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-RFC2646: Format=Flowed; Original
Xref: news-archive.icm.edu.pl pl.misc.elektronika:569720
[ ukryj 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
- w czasach LED komary mają ciężko
- walizka z kodami
- 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?
Najnowsze wątki
- 2025-07-16 deltaT w pompie ciepla
- 2025-07-16 dron na granicy polsko niemieckiej
- 2025-07-16 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-16 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-16 Gdańsk => Delphi Programmer <=
- 2025-07-16 Warszawa => BI Developer <=
- 2025-07-16 Gdańsk => Programista Delphi <=
- 2025-07-16 chroń PESEL dziecka
- 2025-07-16 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-16 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-16 Kraków => Kotlin Developer <=
- 2025-07-16 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-16 Tadeusz Rolke RIP
- 2025-07-14 Dwa dylematy
- 2025-07-14 Re: Dwa dylematy