PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zugriff auf Ports



HeinzBecker
03.07.2007, 13:25
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?

PicNick
03.07.2007, 14:18
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


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


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

HeinzBecker
03.07.2007, 14:38
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

PicNick
03.07.2007, 16:07
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/index.php/Bascom_-_Erstes_Programm_in_den_AVR_Controller_%C3%BCbertr agen
Es gibt auch alle möglichen Beispiele.

Ein bißchen reinknien wirst du dich wohl schon müssen, von nix kommt nix
O:)