Hallo,
ich versuche gerade SPI0 mit dem AVR32UC3C2 (64 Pin) zu nutzen.
MOSI liegt auf PIN 47 (PD00) und die GPIO Funktion ist A
Dh.
1 | AVR32_GPIO.port[3].pmr0 = ??;
|
2 | AVR32_GPIO.port[3].pmr1 = ??;
|
3 | AVR32_GPIO.port[3].pmr2 = ??; // Mode A
|
Nun habe ich im Wiki gelesen, dass man die Register pmr0 bis pmr2
beschreiben soll:
Im Wiki hier auf mikorocontroller.net steht foglendes:
(Hier der Artikel:
https://www.mikrocontroller.net/articles/AVR32-Tutorial)
>Beispielcode um auf Pin A17 den Mode B und auf Pin B05 den Mode D zu bekommen:
1 | AVR32_GPIO.port[0].pmr0 = 1<<21;
|
2 | AVR32_GPIO.port[0].pmr1 = 0;
|
3 | AVR32_GPIO.port[0].pmr2 = 0; //mode B
|
4 |
|
5 | AVR32_GPIO.port[1].pmr0 = 1<<5;
|
6 | AVR32_GPIO.port[1].pmr1 = 1<<5;
|
7 | AVR32_GPIO.port[1].pmr2 = 0; //mode D
|
Dieses Beispiel ist für mich absolut unverständlich. Ich schätze mal,
dass nichtd 1<<21 sondern 1<<17 gemeint ist. Aber warum pmr1 = 0 und
pmr2 = 0 um auf den Mode B zu kommen ist mir nicht verständlich. Auch
beim zweiten. Warum hier auf einmal pmr1 = 1<<5 sein soll.
Könnte mir das jemand erklären? Würde mich sehr freuen. :)
Schöne Grüße