www.mikrocontroller.net

Forum: Projekte & Code Bascom Bit und Byte


Autor: Manfred Feitzinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich verwende den AT-Mega16 und programiere in Bascom

Ich bekomme aus einem Can-Bus eine Byte Variable, diese kann ich direkt
über den I2C bus an den PCF8574 weiterleiten und die Dementsprechenden
Ausgänge setzten.
Wie soll ich es anstellen, dass ich zum Beispiel einzelne Ausgänge des
PCF8574 auf "Handbetrieb" umschalte. Praktisch sie werden direkt vom
AT-Mega angesteuert.
es soll zB P0,P4 auf Handbetrieb und die anderen auf Automatik vom
Can.Bus

Grüße Manfred

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

irgendwie verstehe ich nicht was du mit "Handbetrieb" und
"Automatikbetrieb" meinst. Erklaere bitte nochmal was du genau
willst, dann kann ich Dir helfen.

Gruß,
Dirk

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ein PCF8574 eine Porterweiterung ist, glaube ich zu verstehen, was
du meinst.
Ich musst aber auch erst ein paar Tage nachdenken und den Sinn zu
verstehen!

Dim A As Byte.
A=255  'damit sieht A als Binär so aus: 11111111
A.2=0  'jetzt sieht A so aus: 11111011

Und dann A in den Bus schicken.

Wenn ich dich richtig verstanden habe, gibt der CAN-Bus bestimmt
Schaltzustände aus, die durch den AVR in den PCF gehen.
Jetzt willst du die Kontrolle aber nicht vollständif abgeben und hast
zwei Bits, die du selbst steuern willst.

Dann einfach mit Byte.Binärstelle deinen gewünschten Wert erzwingen.
Wobei Byte dann dein Deklarierter Variablenname ist und Binärstelle
wahrscheinlich 0 und 5 bei dir.

Es müsste aber eigentlich auch mit BYTE AND &B11111110 und BYTE AND
&B11101111 oder so ähnlich geh'n.

Dazu kannst du in der Hilfe mal unter GETRC5() nachschauen. Damit wird
im Code das Togglebit gelöscht.

Was weniger Zyklen und weniger Speicher braucht musst du dann selbst
nochmal ausprobieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.