Hi ich habe hier mal einen Auszug aus einem Programm, das ich gefunden habe. Ich habe jetzt noch zum Testen zusätzlich PB0 aus PORTB als Eingang hinzugefügt und den Pull-Up Widerstand aktiviert. Stimmt das so? Habs wie bei den anderen auch gemacht. So nun möchte ich diesen in das uint8_t buttons aufnehmen. Wie mache ich das? Weil wenn ichs einfach so hinzufüge meckert Win AVR immer, das das nicht gültig wäre oder so. Wäre super wen mir jemand helfen könnte! Hier noch der entsprechende Code Ausschnitt: /* * Initialize the hardware to read the button states. * * Set the ports to input with pullups enabled. */ void buttons_init(void) { DDRD &= ~(_BV(PD0) | _BV(PD1) | _BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5) | _BV(PD6)); PORTD = _BV(PD0) | _BV(PD1) | _BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5) | _BV(PD6); DDRB &= ~(_BV(PB0)); PORTB = _BV(PB0); } /* * Callback function from the rc5 module. This reads in the current button * state and returns the corresponding rc5 command code. */ uint8_t rc5_get_cmd(rc5_cmd_t *cmd) { uint8_t buttons = (~PIND) & (_BV(PD0) | _BV(PD1) | _BV(PD3) | _BV(PD4) | _BV(PD5) | _BV(PD6)); *cmd = 0xff; BTW wie poste ich denn so Codeausschnitte richtig?
Hoast schrieb: > BTW wie poste ich denn so Codeausschnitte richtig? Als Dateianhang. Hoast schrieb: > Ich habe jetzt noch zum Testen zusätzlich PB0 aus PORTB als Eingang > hinzugefügt und den Pull-Up Widerstand aktiviert. Stimmt das so? Habs > wie bei den anderen auch gemacht. So nun möchte ich diesen in das > uint8_t buttons aufnehmen. Wie mache ich das? nun musst du den PIN einlesen, z.B. mit buttons = (PINB & (1<<PB0)); //buttons gleich 1 für Pin high, und 0 für pin low Ansosnten schau mal ins AVR-gcc-Tutorial.
Mhm aber wie integriere ich das mit Komma, Strichpunkt, and oder wie geht das, dass er kapiert, dass er den Port auch mit einbeziehen soll, definiert ist er ja oben schon.
Floh schrieb: > Hoast schrieb: >> BTW wie poste ich denn so Codeausschnitte richtig? > > Als Dateianhang. Bei kleineren Schnipsel geht es auch inline...
1 | [c]C-Code[/c] |
Steht auch unter Formatierung und/oder (mehr Informationen...).
Hoast schrieb: > Ich habe jetzt noch zum Testen zusätzlich PB0 aus PORTB als Eingang > hinzugefügt und den Pull-Up Widerstand aktiviert. Stimmt das so? Habs > wie bei den anderen auch gemacht. Nein. Das ist weder richtig noch wie bei den anderen. Hoast schrieb: > Mhm aber wie integriere ich das mit Komma, Strichpunkt, and oder wie > geht das, dass er kapiert, dass er den Port auch mit einbeziehen soll, > definiert ist er ja oben schon. Nun, das ist ein längerer Prozess. Schritt 1: Die Grundlagen von C lernen Schritt 2: AVR Controller programmieren lernen Das müsste in 4-6 Monaten hinzubekommen sein,wenn du dich dranhältst. Jetzt wird es schwierig: Schritt 3: Das "gefundene" Programm verstehen Schritt 4: Herausfinden, was man tun muß, um eine weitere Taste hinzuzufügen Schritt 5: Herausfinden, wie man in das Programm die Funktionen einbaut, die die zusätzliche Taste auslösen soll. und schließlich Schritt 7: Das alles Programmieren. Viel Vergnügen. Oliver
Oliver schrieb: > Nein. Das ist weder richtig noch wie bei den anderen. Sehr aufschlussrecih warum ist es nicht richtig so? Wenn ich bei
1 | DDRD &= ~(_BV(PD0) | _BV(PD1) | _BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5) | _BV(PD6)); |
2 | PORTD = _BV(PD0) | _BV(PD1) | _BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5) | _BV(PD6); |
was hinzufüge gehts ja auch! Wieso geht das mit dem anderen dann nicht. Wenn ich mal genug Zeit habe werde ich liebend gerne das Programmieren lernen leider ist das im Moment nicht so. Ich will ja einfach nur noch ein paar Taster dran haben erstmal nichts weiter. Klar wäre es schön, wenn ich programmieren könnte und das alles verstehe und endlich mal wirklich mitreden kann aber das geht halt im mom nicht - leider
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.