ich habe das vor kurzem für den Uno/Mega mal zu Fuss gemacht. Due habe ich nicht. Nur da C = C ist, auch beim Due, fällt mir ein merkwürdiges Setting auf. Worauf der Interrupt bestimmt nicht enabled wurde. Wenn man das Bit 24 setzen möchte und will die anderen Bits im Register unberührt lassen, dann sollte man verodern, denke ich. |= (1<<24)
okay, &=~ stimmt ja nun.
Hmm blöd, dann kannste dir nur nochmal das Datenblatt durchlesen, vielleicht müssen noch paar Bits mehr gesetzt werden.
Oder guckst mal in den core Files IDE wie die den DUE anspricht wenn sie den ADC nutzen soll.
Oder guckst mal die App Notes durch, ähnlich wie bei Atmel.
Oder guckst mal im mikrocontroller forum. Die machen ja fast alles klassisch in C.
Mehr kann ich leider nicht helfen.
rudirabbit:
Dachte, auch hier gibt es inzwischen mehr Leute die sich mit dem ARM befassen
Gibt ja auch noch andere Arduino's mit einem ARM. :o
Nur hat der ADC nicht viel mit ARM zu tun. Das macht jeder Hersteller anders. Und der SAM3 auf dem Due wahrscheinlich wieder anders, als die SAMD auf den anderen Arduinos.
Für den Teensy 3.x gibt es die ADC-Library, die macht dort wahrscheinlich was du suchst. Allerdings setzt die den ADC auf kontinuierliches Samplen und liest per DMA.
ArduFE:
Für den Teensy 3.x gibt es die ADC-Library, die macht dort wahrscheinlich was du suchst. Allerdings setzt die den ADC auf kontinuierliches Samplen und liest per DMA.
Genau dies (via DMA) habe ich für den DUE (SAM3) auch gefunden, mal sehen...