Forum: Mikrocontroller und Digitale Elektronik NIOS II Timer einstellen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Eugen T. (der_eugen_thorben)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,
ich hab eine Frage. In Qsys habe ich den timer0 für den Nios 2 
ausgewählt und 2 micro Sekunden eingestellt. Muss ich noch die 
Funktionen IOWR_ALTERA_AVALON_TIMER_PERIODH() und 
IOWR_ALTERA_AVALON_TIMER_PERIODL() für die Periodendauer benutzen? Oder 
wird es automatisch durch die defines eingestellt?

So initialisiere ich den Timer:
1
static void init_interrupt()
2
{
3
4
IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_0_BASE, 0);
5
     /* Register the interrupt handler. */
6
7
     alt_ic_isr_register(TIMER_0_IRQ_INTERRUPT_CONTROLLER_ID, TIMER_0_IRQ, timer0_isr, NULL, 0x0);
8
9
}

So starte ich den Timer:
1
static void start_timer0()
2
{
3
4
  IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_0_BASE, ALTERA_AVALON_TIMER_CONTROL_CONT_MSK | ALTERA_AVALON_TIMER_CONTROL_START_MSK | ALTERA_AVALON_TIMER_CONTROL_ITO_MSK);
5
6
}

Und das sind die erstellten defines von Qsys in system.h
1
/*
2
 * timer_0 configuration
3
 *
4
 */
5
6
#define ALT_MODULE_CLASS_timer_0 altera_avalon_timer
7
#define TIMER_0_ALWAYS_RUN 0
8
#define TIMER_0_BASE 0x21020
9
#define TIMER_0_COUNTER_SIZE 32
10
#define TIMER_0_FIXED_PERIOD 0
11
#define TIMER_0_FREQ 50000000
12
#define TIMER_0_IRQ 5
13
#define TIMER_0_IRQ_INTERRUPT_CONTROLLER_ID 0
14
#define TIMER_0_LOAD_VALUE 99
15
#define TIMER_0_MULT 1.0E-6
16
#define TIMER_0_NAME "/dev/timer_0"
17
#define TIMER_0_PERIOD 2
18
#define TIMER_0_PERIOD_UNITS "us"
19
#define TIMER_0_RESET_OUTPUT 0
20
#define TIMER_0_SNAPSHOT 1
21
#define TIMER_0_SPAN 32
22
#define TIMER_0_TICKS_PER_SEC 500000
23
#define TIMER_0_TIMEOUT_PULSE_OUTPUT 0
24
#define TIMER_0_TYPE "altera_avalon_timer"

Vielen Dank für weitere Infos:-)

von Eugen T. (der_eugen_thorben)


Bewertung
0 lesenswert
nicht lesenswert
funktioniert;-)

von Donni D. (donnidonis)


Bewertung
0 lesenswert
nicht lesenswert
Wäre gut die Lösung noch anzugeben, vielleicht hat ja mal jemand die 
gleiche Frage.

von Eugen T. (der_eugen_thorben)


Bewertung
0 lesenswert
nicht lesenswert
so wie ich es gemacht habe, wie hier beschrieben

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.