cgboard - knowledge is the key
Registrierung Kalender Mitgliederliste Admins und ihre Knechte Suche Häufig gestellte Fragen Zur Startseite

cgboard - knowledge is the key » Hard- und Software » Coding & GFX » [Suche] jemanden, der ein wenig Mikrocontroller programmieren kann » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): « vorherige 1 [2] Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen jemanden, der ein wenig Mikrocontroller programmieren kann
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
BSDBlack
Grünschnabel


Dabei seit: 02.11.2017
Beiträge: 8

Im Wartungs Modus:
Level: 11 [?]
Erfahrungspunkte: 1.817
Nächster Level: 2.074

257 Erfahrungspunkt(e) für den nächsten Levelanstieg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

So erstmal Entschuldigung, dass ich mich so lange nicht meldete, aber ich hatte die letzte Zeit zuviel um die Ohren.

Ich habs mir mal angesehen und Code + Schaltplan machen es doch etwas einfacher. Zur klärung des Problemes:
Also Richtig war schonmal wie du von PB0 ließt und das in eine Variable speicherst. Beim schreiben ist aber leider etwas schief gelaufen. Du hast nicht an PB1 und PB2 geschrieben, sondern leider in PB0, deswegen ist auch nichts passiert.

Ich habe dir mal eine Tabelle gebastelt (und angehängt), in der du sehen kannst welcher Pin auf High steht in Abhängigkeit vom Inhalt von Port B. Vorrausgesetzt diese Pins sind als Ausgänge geschalten.


PORTB | PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0
----------------------------------------------------
0x0000000 | 0 0 0 0 0 0 0 0
0x0000001 | 0 0 0 0 0 0 0 1 <-- das schreibst du in Port B
0x0000010 | 0 0 0 0 0 0 1 0
0x0000011 | 0 0 0 0 0 0 1 1
0x0000100 | 0 0 0 0 0 1 0 0
0x0000101 | 0 0 0 0 0 1 0 1
0x0000110 | 0 0 0 0 0 1 1 0 <-- das willst du in Port B



code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
#include <avr/io.h>

int main(void)
{
    DDRB = 0x06; /* 0x06 Hex für Pb0 Eingang, Pb1+2 Ausgang*/	
    int result; /* Zwischenspeichern des wertes zur vereinfachung */

    while (1)
    {
        result = PINB & 0x01; /* 0x01 Hex für 0b00000001 */
        if(result) /* PB0 wurde auf High gezogen => Taster gedrückt */
        {
            PORTB =0x06; /* PB1 und PB2 auf High */
        }
        else /* PB0 wurde auf Low gezogen => Taster nicht gedrückt */
        {
            PORTB=0x00; /* Alle Lämpchen aus */
        }
    }
}


Ich hoffe das Hilft so weiter.

Dateianhang:
unknown result.txt (14 KB, 2 mal heruntergeladen)
02.03.2018 23:08 BSDBlack ist offline E-Mail an BSDBlack senden Beiträge von BSDBlack suchen Nehmen Sie BSDBlack in Ihre Freundesliste auf
Seiten (2): « vorherige 1 [2] Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
cgboard - knowledge is the key » Hard- und Software » Coding & GFX » [Suche] jemanden, der ein wenig Mikrocontroller programmieren kann

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH
Hosting und Support by: Rayman