Wie erden die einzelnen PINS des Attiny13 mit C Angesteuert?

Da wir die gesamte Motorsteuerung für unseren Roboter selber bauen, haben wir uns mit der Programmierung von Mikrocontrollern beschäftigt. Die Arbeit mit unserem ATtiny13 stellte sich als gar nicht so leicht raus.
Die Beschreibungen im Netz zum Ansprechen der einzelnen Pins ist nicht Eindeutig. Beziehungsweise scheinen die meisten Projekte nicht mit der Programmiersprache C zu arbeiten.
Wir haben uns daher erst einmal die Mühe gemacht, herauszubekommen wie man die Pins anspricht.

Nach unseren unseren ersten Experimenten kamen wir zu folgendem Ergebnis.

Hier das Beispiel zu dem Lauflicht aus dem ersten Teil des Videos:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#include <avr/io.h>

int main (void)
{
int n;

// Schaltet alle Ports auf Ausgang
DDRB = 0xFF;

while(1)
{
PORTB = 0x01;
for (n=0;n PORTB = ((1 for (n=0;n

PORTB = 0x02;
for (n=0;n PORTB = ((1 for (n=0;n

PORTB = 0x04;
for (n=0;n PORTB = ((1 for (n=0;n

PORTB = 0x08;
for (n=0;n PORTB = 0x07;
for (n=0;n

PORTB = 0x04;
for (n=0;n PORTB = 0x11;
for (n=0;n

PORTB = 0x02;
for (n=0;n PORTB = 0x13;
for (n=0;n

}
return 0;
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


Die Bereiche im Quellcode PORTB = 0x01; schalten die Ports ein. Der HEX-Wert gibt den einzelnen Port an, der aktiviert werden soll.
Über diesen Wert können auch mehrere Ports gleichzeitig aktiviert werden.

Die folgende Tabelle zeigt die Adressen der einzelnen Pins und ihrer Kombinationen an.

HEX-Code Pin/s HEX-Code Pin/s
    0x10 4
0x01 0 0x11 0,4
0x02 1 0x12 1,4
0x03 0,1 0x13 0,1,4
0x04 2 0x14 2,4
0x05 0,2 0x15 0,2,4
0x06 1,2 0x16 1,2,4
0x07 0,1,2 0x17 0,1,2,4
0x08 3 0x18 3,4
0x09 0,3 0x19 0,3,4
0x0A 1,3 0x1A 1,3,4
0x0B 0,1,3 0x1B 0,1,3,4
0x0C 2,3 0x1C 2,3,4
0x0D 0,2,3 0x1D 0,2,3,4
0x0E 1,2,3 0x1E 1,2,3,4
0x0F 0,1,2,3 0x1F 0,1,2,3,4



Damit ihr nicht so viel schreiben müsst, haben wir die beiden Dateien mit dem Quellcode für das Lauflicht und die Raupe mit an diesen Artikel gehängt. Wir würden uns freuen, wenn wir ein paar Beispiele von euch zurück bekommen.

AnhangGröße
Datei lauflicht-3.c753 Bytes
Datei lauflicht-raupe2.c536 Bytes