-         

Ergebnis 1 bis 9 von 9

Thema: PORT-Richtung

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042

    PORT-Richtung

    Anzeige

    Gibt es eine Möglichkeit bei der C-Control Station I V2.0 innerhalb des
    Programmablaufes PORTs oder auch BYTEPORTs zwischen Eingang,
    Ausgang und hochohmig hin und herzuschalten?
    Programmiert wird in BASIC++. VG Micha

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042
    Hab gerade den DEACT-Befehl recherchiert, der den PORT wieder auf
    Eingang zurückschalten soll, nach dem durch Wertezuweisung auf
    Ausgang geschaltet wurde. In einem CControl-Forum gabs dazu
    etwas widersprüchliche Aussagen dazu. Ich werde in den nächsten Tagen
    das mal ausprobieren und die POERTs der CControl so durchmessen,
    ob die Aussage auch stimmt. Vielleicht weiss trotzdem jemand da
    etwas genaueres . VG Micha

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556

    Re: PORT-Richtung

    Zitat Zitat von hardware.bas
    Gibt es eine Möglichkeit bei der C-Control Station I V2.0 innerhalb des
    Programmablaufes PORTs oder auch BYTEPORTs zwischen Eingang,
    Ausgang und hochohmig hin und herzuschalten?
    Programmiert wird in BASIC++. VG Micha
    Was ein compiler "dazu sagt"? Aber mit inline ASM und Zugriff auf das DDR Register sollte es klappen.

    Gruß Richard

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042
    ASM... leider kein Thema für mich. VG Micha

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von hardware.bas
    ASM... leider kein Thema für mich. VG Micha
    Möglich das so etwas auch per Basic im Direckt zugriff auf DDR(x) geht, habe ich aber nicht ausprobiert. Das Problem dabei, ich weiß nicht was der Compiler damit anstellt.
    Aber ein ddr(x) or %0001000 austesten macht nix kaputt. Die "1" dann natürlich an die richtige Stelle! im Text habe ich diese willkürlich gewählt.

    In ASM dürfte der (dieser) kurze Befehl sogar identisch aussehen?

    Gruß Richard

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042
    Wie gesagt, ASM wurde uns in der Meisterschule mal kurz versucht
    zu erklären, danach jedoch kollektiv abgebrochen, keiner hats
    begriffen, keiner hats gebraucht. Aber egal. der DDR Befehr ist mir
    jedoch ein Begriff. Nutze ich fast tagtäglich mit Bascom beim AVR.
    Hier bei der C-Control programmiere ich jedoch im BASIC++.
    VG Micha

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von hardware.bas
    Wie gesagt, ASM wurde uns in der Meisterschule mal kurz versucht
    zu erklären, danach jedoch kollektiv abgebrochen, keiner hats
    begriffen, keiner hats gebraucht. Aber egal. der DDR Befehr ist mir
    jedoch ein Begriff. Nutze ich fast tagtäglich mit Bascom beim AVR.
    Hier bei der C-Control programmiere ich jedoch im BASIC++.
    VG Micha
    Ist doch OK. Aber auch in BASIC ++ müssen Register "bearbeitet" werden, wenn es (anscheinend) keinen DDR Befehl gibt wird das dort anscheinend anders genannt. Aber Register Operationen/Manipulationen sollte es auch in BASIC ++ geben. Zur Not halt über die realen Hardware Adresse des Registers welche sich im Datenblatt des µC finden sollte.

    Irgend einen Weg (Umweg) findet sich eigentlich IMMER. Ich hatte einmal ein recht eures Modul mit "Eingebauten Basic" natürlich war der Chip lese geschützt. Also habe ich IM eingebauten basic die internen Speicherstellen ausgelesen und per RS232 in eine BIN Datei geschrieben. Diese in ein passendes Epromm und TataTataTata BINGO die geschützte Firmware lief eins A....

    Hartnäckigkeit und etwas Hirnschmalz halt.

    Gruß Richard

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.09.2004
    Ort
    Schwabenland
    Beiträge
    156
    Es kommt darauf an wie der Port das erste mal angesprochen wird.

    Auf Port schreiben, dann wird der Port ein Ausgang.
    Vom Port lesen, dann wird der Port ein Eingang.
    Wenn der Port allerdings die Richtung zu Input ändern soll, dann muss zuvor ein DEACT aufgerufen werden.


    Also bspweise:

    Define Port1 as Port[1]
    Define x as bit

    ' Port als Ausgang
    Port1=true
    Port1=false

    ' Port als Eingang
    deact Port1
    x=Port1
    Print Port1

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042
    So..... ich habe gestern die bedarfsgerechte Portumschaltung mit einem
    Byteport ausprobiert. Es verhält sich so, wie angenommen.
    Beispiel Byteport heisst "communication":
    communication = variable; Port ist AUSGANG
    variable = communication; Abfrage ist natürlich auch möglich
    deact communication; Port ist EINGANG
    variable = communication; Abfrage - hier machts einen Sinn
    Bei offenem EINGANG sind alle Eingänge wegen der eingebauten
    PullUps auf High (255).
    Und das Ganze ist beliebig oft hin und her schaltbar.
    VG Micha

Berechtigungen

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