-
Zugriff auf Ports
Hallo Community,
ich habe einige Verständnis Probleme und leider sehr wenig Zeit für das Projekt. Ich habe Mega2560 vor mir liegen, dazu noch einen Schrittmotor sowie Sensorik. Ich werde aus der Anleitung nicht so recht schlau. An welchen Ports müssen die Geräte angeschlossen werden?
Das Grundprogramm im Chip soll mit BasCom realisiert werden. Gibt es hier nicht einen einfachen Bestehl wie "Lese ein, was auf Port x anliegt" bzw "Setze Digital Port x" bzw "Setze x Volt auf Port y"?
Ziel ist es, dass der Chip über ein Lazarus (= Delphi) Projekt angesteuert wird. Das Windows Programm soll über den Chip Ports, also angeschlossene Geräte schalten und den Status verschiedener Sensoren auslesen.
Ich werde aber in dem ganzen Chip, Roboter, Bus-System Thema völlig gaga und habe auch schon den Überblick verloren.
Kann mir da bitte jemand helfen?
-
Mein lieber Schwan, entweder ein schwieriger Fall mit schlechter Prognose für ein Projekt oder du stehst nur einfach auf dem Schlauch
Die gesamte Peripherie, also auch die Ports, wird über Adressen angesprochen, und diese adressen haben symbolische Namen, also z.B. "PORTB".
Um also z.B. einen bestimmten Anschluss auf ~ 5 V zu legen, sagt man einfach
Code:
PORTB.x = 1 ' (x ist 0 - 7, ein Port hat ja 8 Bits)
Im Datasheet sind diese Pins/ Anschlüsse beschriftet
Um denselben Anschluß zu lesen, sagt man
Code:
variable = PINB.x ' (x ist 0 - 7, ein Port hat ja 8 Bits)
Nur das mit den Volt wird so nix, das geht nur über PWM, das ist aber wieder eine andere Baustelle
-
Das Projekt wird "nur" erweitert :) Also kann ich per Software nicht einfach sagen "Wieviel Volt liegen an Port x an"? Gibt es ev Zusatz-Funktionen, mit denen das möglich ist? Volt lesen, Impuls schreiben bzw lesen, "mehr" muß das Teil ja nicht tun.
Wo ist "PORTB" definiert? In der ".DAT"? Oder gibt es irgendwelche spezifischen Bibliotheken?
Die Platine geht zwar noch zum Elektroniker, allerdings finde ich im Schaltplan nirgends einen Dummy Hinweis wie "Hier ist Pin 1 für Gerät 1, hier Pin 2 für Gerät 2" usw
-
Moment, "Volt" lesen is was anderes wie Volt setzen. Das geht schon.
Es "ADC/analog" Ports, die kann man mit
variable = GETADC(x)
abfragen. der Wert geht dann von 0 - 1023, muß man auf 0-5 Volt umrechnen.
"PORTB" wird definiert, wenn du dem Bascom-Compiler sagst, welchen µC du hast (Options->Compiler->Chip)
Impulse ausgeben -> HELP "PULSEOUT"
Was in der Schaltung wo auf welchen Pin des µC angeschlossen ist, muß aber schon draufstehen. Wird halt nicht Deutsch sein.
Wir haben da auch eine WIKI, schau mal dort und folgende
https://www.roboternetz.de/wissen/in...C3%BCbertragen
Es gibt auch alle möglichen Beispiele.
Ein bißchen reinknien wirst du dich wohl schon müssen, von nix kommt nix
O:)