-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Mehrere 1wire-Ports festlegen:

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

    Mehrere 1wire-Ports festlegen:

    Anzeige

    Sorry, ich hatte das Thema schon mal aufgegriffen, warscheinlich jedoch in
    einem thematisch ungünstigen Thread. Also, weiss jemand, ob es
    möglich ist, mehrere 1wire-Port am AVR zu nutzen. Man kann zwar
    mehr dimensionieren, die Ausleseprozedur bezieht sich jedoch nicht
    auf einen speziellen Port. Vielen Dank für ein Feedback. VG Micha

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112

    Re: Mehrere 1wire-Ports festlegen:

    Zitat Zitat von hardware.bas
    Also, weiss jemand, ob es möglich ist, mehrere 1wire-Port am AVR zu nutzen. Man kann zwar mehr dimensionieren ...
    Was meinst du mit "dimensionieren"? Du kannst nur einen konfigurieren.

    Zitat Zitat von hardware.bas
    ... die Ausleseprozedur bezieht sich jedoch nicht
    auf einen speziellen Port.
    Du kannst doch in jedem 1wire Befehl einen Port und einen Pin angeben.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042
    Natürlich konfigurieren ist gemeint. Ich brauche 3 Stück 1wire-Ports. Ohne
    beim Compilieren zu meckern kann ich Diese konfigurieren. Nun mein
    Problem: Wie weise ich die Ausleseprozedur den einzelnen Ports zu?
    Wenn das nicht klappen sollte, kann man ev. vor dem Ausleseprozedere
    den einzelnen Port konfigurieren, so dass immer der zuletzt konfigurierte
    Port dann massgebend ist? VG Micha

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112

    Re: Mehrere 1wire-Ports festlegen:

    Nochmal:

    Zitat Zitat von for_ro
    Du kannst doch in jedem 1wire Befehl einen Port und einen Pin angeben.
    var2 = 1WIRECOUNT( port , pin)
    var2 = 1WSEARCHFIRST( port , pin)
    var2 = 1WSEARCHNEXT( port , pin)
    var2 = 1WREAD( bytes , port , pin)
    1WRESET , PORT , PIN
    1WWRITE var1 , bytes , port , pin

    Die einzige Ausnahme scheint mir 1wverify zu sein. Hatte ich noch gar nicht bemerkt.

    Edit: Bascom kompiliert dies jedenfalls, ob's funktioniert müsste man ausprobieren
    1wverify var1 , port , pin

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042
    Vielen Dank. In der kommenden Woche werd ich das ausprobieren können.
    VG Micha

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042
    Vielen Dank, for_ro, für Deine Hilfe. Ähnliches hatte ich dann später im
    BASCOM-Lehrbuch gefunden. Ich habe nun heute diese Lösung gebraucht,
    leider ohne Ergebnis. 3 Stück DS18S20 sind sternförmig verkabelt, also
    bedingt durch die Kabeltopologie nicht als 1WIRE-BUS betreibbar. Alle
    3 Sensoren funktionieren auch beim einzeln auslesen (Umflashen des
    Programmes auf die configurierten Ports / Alle werden mit +5V, GND und
    DATA, also 3-adrig betrieben). In meinem Falle an PORTD.5, PORTD.6 und
    PORTD.7, welche in dem Versuch alle als 1wire konfiguriert wurde.
    Benutzt wurde dann die bekannte Prozedur der Einzelmessung,
    wobei an die 1wire-Kommandos folgendes rangehägt wurde:
    1w"kommando", pind , x (x der Pin). Leider ist keine
    Kompilierung möglich. Obwohl ich nicht verlangen will, dass ich eine
    vorgekaute Lösung für diesen speziellen Fall bekomme, wäre ich
    jedoch für ein Beispiel dazu dankbar. VG Micha

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Wie sieht denn der Code aus, den du nicht kompilieren kannst?

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042
    Leider steht der Rechner und das Gerät mit der Elektronik ung. 70km
    auf der Baustelle. Ich kann von dort jedoch ins Netz.
    UNGEFÄHR!!! sieht der Code ao aus, als Auszug:



    Config 1wire = Portd.5
    Config 1wire = Portd.6
    Config 1wire = Portd.7
    Dim Sp(9) As Byte

    for x = 5 to 7

    1wreset , pind , x
    1wwrite &HCC , pind, x
    1wwrite &H44 , pind , x

    Waitms 512

    1wreset , pind , x
    1wwrite &HCC , pind , x
    1wwrite &HBE . pind , x
    Sp(1) = 1wread(9 , pind ,x)

    "Array auslesen und drucken ok"

    Wait 1

    next

    ---------------------------------------------
    Wenns funktioniert, wird natürlich der
    Anwendung angepasst. VG Micha

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Mach es mal so:
    'Config 1wire = Portd.5 'brauchst du nicht
    'Config 1wire = Portd.6 'mehrere geht eh nicht
    'Config 1wire = Portd.7
    Dim S_p(9) As Byte 'SP ist ein reserviertes Wort
    Dim X As Byte
    for x = 5 to 7

    1wreset Pind , X 'Fehler in der Hilfe, Komma hinter 1wreset muss weg
    1wwrite &HCC , 1 , Pind , X 'Anzahl Bytes muss angegeben werden
    1wwrite &H44 , 1 ,pind , x

    Waitms 512

    1wreset Pind , X
    1wwrite &HCC , 1 ,pind , x
    1wwrite &HBE , 1 , Pind , X
    S_p(1) = 1wread(9 , Pind , X)

    '"Array auslesen und drucken ok"

    Wait 1

    Next

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Wulferstedt
    Beiträge
    1.042
    Vielen Dank, ich werde es morgen probieren. Folgende Fragen hab ich
    gleich, um dann ev. eigenständig weiterzukommen:
    - Es reicht also. EINEN Port zu configurieren, den Letzten??
    - Was bedeutet die 1 hinter den 1wire-Befehlen
    - Musste bei Anzahl der Bytes bein DS1820 dann nicht "9" stehen?
    Das funktioniert bei mir:
    - Beim array hab ich eine andere Variable, fällt mir ein, die funktioniert
    - Das mit SP habe ich auch festgestellt, seit ich BASCOM-Vollversion hab
    Ich halte Euch auf dem Laufenden, wies ausging. VG Micha

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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