Hallo Gibt es in AVR GCC auch einen Befehl wo man einen Pin eines Ports nur kurz pulsen kann? Also Pulse Portb Pin 3 oder so? Frank
Warum denn für alles und jedes immer nen extra Befehl ? C ist ne Programmiersprache, schreib Dir doch einfach ne Funktion dafür:
1 | void pulse_pd3(void) |
2 | {
|
3 | PORTD |= 1<<PD3; |
4 | PORTD &= ~(1<<PD3); |
5 | }
|
Bei 1MHz ist der Puls 2µs lang. Peter
Bei neueren AVR's kann man auch durch Setzen des Bits im PINx Register (eigentlich das Lese-Register) den Portzustand ändern:
1 | void pulse_pd3(void) |
2 | {
|
3 | PIND = 1<<PD3; |
4 | PIND = 1<<PD3; |
5 | }
|
Obs schneller ist musst Du selber rausfinden, einfach den erzeugten ASM-Code anschauen und mit der OP-Code tabelle im Datenblatt die Anzahl der Takte berechnen. /Ernst
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.