mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Xmega driver


Autor: Nova (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Morgen,

ich bin eigendlich nur auf der suche nach den beispiel codes (driver) 
von Atmel, wo bekomm ich die den ... ich suche zb die usart_driver.c und 
.h


das wäre schon sher schön die mal da zu haben...


mfg Sascha

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Nova (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke,

mal ne andere frage wo finde ich die abkürtzungen wie:

SPI_MODE_3_gc
SPI_PRESCALER_DIV4_gc
(1<< SPI_CLK2X_bp)
(1<< SPI_ENABLE_bp)
(1<< SPI_MASTER_bp)

um mal ein par aus der spi init als beispiel zu zeigen?

Autor: Mike R. (thesealion)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die stehen in der Header-Datei, die zu deinem verwendeten Controller 
gehört.

Für den XMega128A1 ist das z.B. die iox128a1.h

Autor: Nova (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann noch mal danke und auf eine nächste dumme Frage^^

wie funktioniert den das hier?
void DAC_DualChannel_Enable( volatile DAC_t * dac,
                            DAC_REFSEL_t convRef,
                            bool leftAdjust,
                            DAC_CONINTVAL_t sampleInterval,
                            DAC_REFRESH_t refreshInterval )
{
  dac->CTRLB = ( dac->CTRLB & ~DAC_CHSEL_gm ) | DAC_CHSEL_DUAL_gc;
  dac->CTRLC = ( dac->CTRLC & ~( DAC_REFSEL_gm | DAC_LEFTADJ_bm ) ) |
               convRef |
               ( leftAdjust ? DAC_LEFTADJ_bm : 0x00 );
  dac->TIMCTRL = (uint8_t) sampleInterval | refreshInterval;
  dac->CTRLA |= DAC_CH1EN_bm | DAC_CH0EN_bm | DAC_ENABLE_bm;
}
ich fang mal an die zu verlegen...

wie haben ein void Funktion mit den eingangs variablen: DAC_t * dac

was macht das denn?  DAC_t "MAL" dac ?

der Rest ist soweit klar. aber dann ?_?

dac->CTRLB = ( dac->CTRLB & ~DAC_CHSEL_gm ) | DAC_CHSEL_DUAL_gc;

ich nehme an wenn ich der variable "dac" DACA drin steht macht er das:

DACA.CTRLB oder?
der Rest ist von der Zeile auch klar. interessant ist das hier:
 leftAdjust ? DAC_LEFTADJ_bm : 0x00

was macht ein "?" und was macht der ":" ?

sry wenn ich so blöd Frage aber bis jetzt habe ich diese Operatoren noch 
nie benutzt für meine alten AtMega :-|

mfg Sascha

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich empfehle Dir den Kauf eines C-Buches. Vorzugsweise den, mit Recht, 
wie ich finde, so berühmten Kernighan & Ritchie.

Deine Fragen, das soll keine Kritik sein, betreffen absolutes 
Basiswissen.

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls Du nicht warten willst, kannst Du hier 
http://de.wikibooks.org/wiki/C-Programmierung nachlesen.

Autor: Nova (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja danke ich nehm das auch keinem bösse...

bis jetzt musste ich mir alles selbst aneignen und das es diese 
möglichkeit gibt war mir nicht klar...

Bedingungsoperator

Der Bedingungsoperator liefert abhängig von einer Bedingung einen von 
zwei möglichen Ergebniswerten. Er hat drei Operanden: Die Bedingung, den 
Wert für den Fall, dass die Bedingung zutrifft und den Wert für den Fall 
dass sie nicht zutrifft. Die Syntax ist

     bedingung ? wert_wenn_wahr : wert_wenn_falsch



ist natürlich sau cool... amcht einem das leben einfach nur hätte ich 
das als eine

if ()
 {
}

else
{
}

gemacht

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nova schrieb:
> nur hätte ich
> das als eine
>
> if ()
>  {
> }
>
> else
> {
> }
>
> gemacht

So? Dann versuche damit mal eine Variable zu initialisieren.

IF ist eine Anweisung während ?: ein Ausdruck ist, den Du einer 
Variablen zuweisen kannst. Anders ausgedrückt hat IF keinen 
Ergebniswert, während ?: einen hat.

Zugegeben, es lassen sich immer Formulierungen mit temporären Variablen 
finden, die ein ?: überflüssig machen, aber so kann man sich kurz und 
elegant ausdrücken.

Autor: Nova (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja das ist mir auch aufgefallen ...

ich bin halt erst am anfang ... eigendlich bin ich mehr der hardware 
mensch ... d.h. ich kann dir ein layout machen ...

naja studium fängt bald an .... ich hoffe da lernt man acuh ein wenig 
c++
und vorallem vhdl...

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.