-         

+ Antworten
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: eingang an M32

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    03.01.2010
    Beiträge
    11

    eingang an M32

    Anzeige

    hallo, habe zu weihnachten den RP6 mit M32 bekommen. nun habe ich mich einige zeit eingearbeitet, so dass ich jetzt eigene schaltungen aufbauen will.

    darum brauche ich jetzt auf der M32 einen pin als eingang. laut anleitung müsste das so gehen:

    Code:
    #include "RP6ControlLib.h"
    
    void eingang(void)
    {if (PINC & IO_PC6)
    {writeString_P("PC6 is set to HIGH!\n");}
    
    else
    {writeString_P("PC6 is set to LOW!\n");}
    
    }
    
    int main(void)
    {initRP6Control();
    
    DDRD |= (1<<5);  //PD5 als Ausgang
    
    DDRC &= ~IO_PC6;    //PC6 als Eingang
    
    
    while(true)
    {
    
    eingang();
    }
    return 0;
    }
    aber irgendwie klappt das noch nicht so recht. die M32 gibt bei laufendem programm keine textausgaben aus.
    wer kann mir weiterhelfen?

    grüße

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.11.2009
    Alter
    23
    Beiträge
    188
    Versuchs mal so ...

    while(true)
    {
    DDRC &= ~IO_PC6;
    if(PINC & IO_PC6)
    {
    writeString_P("PC6 is HIGH!\n");
    }
    else
    {
    writeString_P("PC6 is LOW!\n");
    }
    }

    Übrigens ... eine übersichliche Programmierung hat keine Nachteile.
    Kopiert man den Code z.B. in ein Forum ist es viel einfacher für andere ihn zu lesen, wenn er übersichtlich geschrieben ist (auch Fehler bei den Klammern lassen sich dadurch leicht vermeiden).

    PS:
    Kann mir jemand erklären wie das mit den Codefenstern im Post geht?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.08.2007
    Ort
    Delmenhorst
    Alter
    31
    Beiträge
    731
    Kann mir jemand erklären wie das mit den Codefenstern im Post geht?
    Indem du auf den Code Button klickst oder von Hand die Code-Tags schreibst

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    03.01.2010
    Beiträge
    11
    @Xandi11: ich habe deinen code gerade mal auf deinen vorschlag umgeändert, aber auch das bringt nichts. es werden keine textmeldungen im terminal angezeigt.

    vielleicht habe ich ja in meinem neu gegründeteten ordern Testprogramm_C etwas falsch gemacht.

    dazu habe ich den ordner mit dem Example_02_Buttons komplett kopiert, und umbenannt. anschließend alles im neu gegründeteten ordner außer make all, make clean , makefile und C-datei gelöscht.

    dann habe ich die c- datei auch in Testprogramm_C umbenannt. anschließend das makefile bei target mit Testprogramm_C umgeändert.

    anschließend im Programmers Notepad die C-datei geöffnet, mein hier gepostetes programm hier eingefügt und anschließend mit make all in eine hexdatei kompiliert.

    dann habe ich mit dem RP6loader mein programm ganz normal auf die M32 überspielt. auf die Base habe ich schon vorher mal das I2C_programm überspielt.


    habe ich da irgendwas falsch gemacht?

    weil die anderen programme auf der M32 laufen ganz normal.

    vielen dank schon mal im voraus für eure hilfe.

    mfg

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.789
    Hallo RP6ler,

    das sieht doch alles ganz gut aus.

    Dein Programm müßte ja irgend etwas ausgeben (im RP6Loader Fenster), wenn es fehlerfrei kompiliert wurde.
    Was erscheint denn da?

    Gruß Dirk

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.11.2009
    Alter
    23
    Beiträge
    188
    Low entspricht ja eigentlich 0V
    und
    High entspricht demnach 5V

    Ohne irgendeine Schaltung hast du ja nichts an dem Pin.
    Meiner Meinung nach entspricht nichts aber nicht 0V.

    Du bräuchtest demnach also entweder 5V damit du high bekommst oder 0V um low zu bekommen (und das am Pin).

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.08.2007
    Ort
    Delmenhorst
    Alter
    31
    Beiträge
    731
    Richtig, unbeschaltet kann der Pin irgendeinen Zustand haben.
    Dafür gibts ja auch Pull-Up Widerstände und die gibts auch intern!

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    03.01.2010
    Beiträge
    11
    achso, ja hab ich vergessen zu schreiben. ich habe schon mal GND und anschließend VDD auf den PC6 pin der M32 gebrückt.

    aber im terminal werden bei mir einfach keine textmeldungen angezeigt. an was kann das liegen?

    die beispielprogramm laufen alle fehlerfrei.

    mfg

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.08.2007
    Ort
    Delmenhorst
    Alter
    31
    Beiträge
    731
    Code:
    #include "RP6ControlLib.h" 
    
    void eingang(void) 
    {
        writeString_P("PC6 is set to HIGH!\n");
    } 
    
    int main(void) 
    {
        initRP6Control(); 
    
        while(true) 
        { 
            eingang(); 
        } 
        return 0; 
    }
    Funktioniert das?

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    03.01.2010
    Beiträge
    11
    @KingTobi: Nein, auch wenn ich dieses programm aufspiele, werden im terminal keine textmeldungen ausgegeben.
    ich bin echt ratlos an was das liegt.

    hab gerade noch mal ein anderes beispielprogramm aufgespielt und das hat einwandfrei funktioniert.

    mfg

+ Antworten
Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •