-
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
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
- Co oni mierzą miernikiem
- 40 lat OrCAD-a
- Multimetr z bluetooth
- Ciekawa mapka z BTS-ami
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
Najnowsze wątki
- 2025-10-26 Masz 20 sekund na poddanie się :)
- 2025-10-26 automat czy manual
- 2025-10-25 W UK (groźnego) seksualnego przestępce (z Etiopii) aż na JEDEN ROK (rasiści) skazali
- 2025-10-25 Warszawa => Senior Cloud Engineer - AWS <=
- 2025-10-24 Prawdziwy obraz społeczeństwa Gazy.
- 2025-10-24 Atra_ment Canona GI-41 vs 45 itp...
- 2025-10-24 Warszawa => International Freight Forwarder <=
- 2025-10-24 Co może być gorsze od pożaru elektryka?
- 2025-10-24 Co może być gorsze od pożaru elektryka?
- 2025-10-24 Warszawa => Senior Microsoft Dynamics 365 Business Central Consultant
- 2025-10-24 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-10-23 brylant
- 2025-10-23 Warszawa => BI Developer / Analityk BI <=
- 2025-10-23 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-10-23 Trójmiasto => Head of Social Media <=




Deweloperzy hamują sprzedaż mieszkań, ale nie podnoszą cen