Avatar billede KurtG Forsker
07. oktober 2017 - 10:29 Der er 2 kommentarer

Skrive hurtigt til DAC i Arduino DUE

Jeg har brug for at skrive hurtigt til dataporten i DAC0 i Arduino DUE.
Jeg har på nettet fundet dette:
  PIOC->PIO_PER = 0x01FF;  // Configure PORTC to PIO controller, pins 33-40
  PIOC->PIO_OER = 0x01FF;  // Enable PORTC to output
og skriver direkte til PORTC således:
  PIOC->PIO_ODSR = PulsTabel2[Ptr];

For at skrive til DAC0 bruger jeg:
  analogWrite(DAC0, Puls[i]);
men den er alt for langsom, da jeg skal skrive 13 værdier på 4uS.

Kan man ikke tilgå DAC0's dataregister som en almindelig port som i øverste eksempel?
Og hvad hedder dataregistret i givet tilfælde?

Mvh Kurt G.
07. oktober 2017 - 13:56 #1
Hej,

Hvis du går ind på ATMEL's WEb-side (http://www.atmel.com ) og søger efter din processor (f.eks AT328p , eller AT2650 ) finder du datablade  og  application notes på "din" processor. 

Der skulle også være eksempler på ASSEMBLER code på I/O samme app. note..

(Forøvrigt kan det være en ide at downloade ATMEL STUDIO 7 da megen af den info- du specielt søger her, findes.

Port adresser, register navne etc.  ARDUINO -compileren følger slavisk disse navne ! )

Kristian
Avatar billede KurtG Forsker
08. oktober 2017 - 04:41 #2
Processoren på en Arduino DUE er en SAM3X8, som ifølge Arduinos blog har en helt anden struktur end de andre board.
Jeg har hentet Atmels datablad for processoren (godt 1200 sider), men indtil nu ikke kunnet finde noget anvendeligt. Men jeg vil kikke efter inde på deres side igen og se om jeg kan finede mere.
Jeg kender ikke deres STUDIO 7, men kikker på det!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester