- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 7 von 7

Thema: Probleme mit der AT-Mega 128 Port Programmierung

  1. #1
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    47
    Beiträge
    68

    Probleme mit der AT-Mega 128 Port Programmierung

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo

    Ich habe folgendes Problem.

    Ich nutze zum ersten Mal einen AT-Mega 128
    ich benutze Codevision

    Ich nehme für ein Programm immer erst den Codewizard um alle Ports zu definieren

    ich schreibe immer
    #define out1 PORTF.0 //Text
    uss für alle ein oder Ausgänge

    Wenn ich jetzt out1 z.b Aufrufen will kommt ein Fehler das ich erst eine Structur bzw. eine Union anlegen soll
    wer kann mir hier helfen
    PORTF könnte ich noch direkt adressieren aber PORTG macht das gleiche Problem und hier brauch ich die einzelne Bits

    Danke für eure Hilfe

    Gruss
    Patrick

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    865
    Hast Du den Kommentar hinter dem #define, wie oben gezeigt, in der gleichen Zeile?

    Was ist denn das "uss"?

  3. #3
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    47
    Beiträge
    68
    hallo

    das uss..soll heissen..dass ich das für alle ausgänge so mache
    und der text wird über zwei schrägstriche ausgeklammert..auch das mache ich immer so
    bis port E kann ich auch ganz normal so arbeiten

    PORT F und PORT G meckert er rum

    Gruss
    PATRICK

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    Zitat Zitat von modtronic Beitrag anzeigen
    .. der text wird über zwei schrägstriche ausgeklammert ..
    Wenn ich mich recht erinnere, gibt es Compiler, die beim #define die ganze Zeile nehmen (können) - inklusive Kommentar. Ich schreibe deshalb üblicherweise das #define "nackt" in eine und den zugehörigen Kommentar in eine zweite (meist davor).
    Ciao sagt der JoeamBerg

  5. #5
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    47
    Beiträge
    68
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Wenn ich mich recht erinnere, gibt es Compiler, die beim #define die ganze Zeile nehmen (können) - inklusive Kommentar. Ich schreibe deshalb üblicherweise das #define "nackt" in eine und den zugehörigen Kommentar in eine zweite (meist davor).
    Moin
    Auch das habe ich versucht.

    Ich kann zb. PORTG = 34 achreiben das nimmt er..
    Sobald ich PORTG.0 schreiben kommt halt das ich eine structur/union anlegen soll.
    ich kann leider damit nichts anfangen..ich nutze Codevision V1..ich weiss das ein Kollege mal einen 128er programmiert hat er ist aber nicht mehr greifbar und ich kann ihn nicht fragen.

    Ich habe die Ports jetzt anders beschaltet nutze ich halt als ganzes Byte

    Gruss
    Patrick

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    865
    Hmmm, ich muss zugeben, ich habe noch nie mit Codevision gearbeitet.
    die Definition "PORTG.0" sollte aber ja auch nur irgendeine Definition aus einer Header-Datei sein.
    Kann es also sein, dass Dir ein Include fehlt oder Du das Projekt noch auf einen anderen Prozessor geschaltet hast?

  7. #7
    Benutzer Stammmitglied Avatar von modtronic
    Registriert seit
    14.05.2011
    Ort
    Hagen
    Alter
    47
    Beiträge
    68
    Zitat Zitat von Holomino Beitrag anzeigen
    Hmmm, ich muss zugeben, ich habe noch nie mit Codevision gearbeitet.
    die Definition "PORTG.0" sollte aber ja auch nur irgendeine Definition aus einer Header-Datei sein.
    Kann es also sein, dass Dir ein Include fehlt oder Du das Projekt noch auf einen anderen Prozessor geschaltet hast?
    Hallo

    Ich kann bis PORT E alles normal nutzen. Das heissr 40 I/O Pins kann ich über Define zuweisen.
    PORT F und G kann ich zwar auch über define zuweisen sobald ich dann aber diese im Programm nutzen will geht es nicht.
    Auch eine direkte zuweisung ohne define geht nicht.

    Das ein 'include fehlt dachte ich auch schon..aber leider weiss ich nicht welce und ob überhaupt.
    Woher bekommt man denn solche include dateien??

    niemand hier der auch so ein problem schonmal hatte ?

    Gruss
    Pat

    - - - Aktualisiert - - -

    Zitat Zitat von Holomino Beitrag anzeigen
    oder Du das Projekt noch auf einen anderen Prozessor geschaltet hast?
    bei codevision wähle ich den at mega 128 an und kann ja dort alles enstellen.
    ports timer interreupt..bisher hatte ich auch noch nie probleme.
    wie gesagt ich brauche nur diesen einen 128er..habe es jetzt damit ich weiterkomme mit dem projekt halt anders angeschlossen

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 19.11.2015, 18:27
  2. Arduino Mega/Due: i2c Master port multiplexen
    Von HaWe im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 42
    Letzter Beitrag: 12.10.2014, 12:51
  3. Frage zu Port A Relais beim AT MEGA 32
    Von Tux12Fun im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 03.06.2007, 11:23
  4. AD Port am Mega 8 etwas merkwürdig
    Von Frank im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 02.07.2004, 00:30
  5. Mit welchen Port kann ich bei Mega 16 PWL ausgeben
    Von davil im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 10.02.2004, 19:19

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad