-
        

Ergebnis 1 bis 5 von 5

Thema: Wie Register in unterprogramm übergeben? [Danke, erledigt]

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    26
    Beiträge
    460

    Wie Register in unterprogramm übergeben? [Danke, erledigt]

    Anzeige

    Hi, ich brauche oft die funktion, dass ein programm auf einen tastendruck wartet.
    Dazu habe ich mir das hier geschrieben:

    Code:
    void wait_for_key (uint8_t *inputreg, uint8_t inputbit)
    {	do{}
    	while(bit_is_set(*inputreg, inputbit));
    	_delay_ms(50);
    
    	do{}
    	while(bit_is_clear(*inputreg, inputbit));
    	_delay_ms(50);
    }
    
    
    Aufruf:
    
    int main (void)
    { 	...
    	wait_for_key(PINC, 0);
    	...
    }
    Ich bekomme beim kompilieren keine errors, nur ein warning, dass ich einen pointer ohne cast mache. Ich habe keine Ahnung wo ich den cast hinmachen soll, aber ich glaube das ist sowieso nicht das einzige problem, ich denk da is was mit der übergabe des PIN-registers falsch.

    Wenn ich das programm auf den microcontroller spiele, reagiert er einfach nicht auf den Tastendruck.

    Könnt ihr mir sagen was an meinem programm falsch ist?

    lg Christoph

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Versuch mal
    Code:
    int main (void) 
    {    ... 
       wait_for_key((uint8_t*)&PINC, 0); 
       ... 
    }
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    26
    Beiträge
    460
    Danke es hat funktioniert!!

    Kann man das Register irgendwie anders (außer mit Pointern) übergeben?
    Dass man sich den cast erspart?

    lg christoph

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    In deinem Fall nicht wirklich. Deine function braucht nunmal die Adresse des Ports und nicht den Inhalt, also eben den Pointer.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    26
    Beiträge
    460
    ok, macht nichts, danke!

Berechtigungen

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