-
        

Ergebnis 1 bis 5 von 5

Thema: Ein IC per I2C ansteuern ==> Das erste Mal.

  1. #1
    Murus
    Gast

    Ein IC per I2C ansteuern ==> Das erste Mal.

    Anzeige

    Hallo zusammen,

    ich möchte ein IC (SAA1064: 7-Segment-Multiplexer-Treiber) per I2C ansteuern. Im Attachment findet ihr den Auszug aus dem Datenblatt, wo drinsteht, wie man das Ding ansteuern muss. Da ich das noch nie gemacht habe, frage ich hier halt mal nach.

    Hier ist mal mein Bascom-Codeauszug, wie ich das bewerkstelligen möchte:
    Code:
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    Config Sda = Portd.5
    Config Scl = Portd.7
    
    I2cstart                                                    ' Los gehts
    
    I2cwbyte &B01110000                                         ' Der Slave wird angesteuert
    
    I2cwbyte &B00000000                                         ' Das Instruktionsbyte
    
    I2cwbyte &B00000111                                         'Das Control-Byte, für Einstellungen am IC
    
    I2cwbyte &B00000001                                         'Data Digit 1
    
    I2cwbyte &B00000010                                         ' Data Digit 2
    
    I2cwbyte &B00000011                                         ' Data Digit 3
    
    I2cwbyte &B00000100                                         ' Data Digit 4
    
    I2cstop
    Mit diesem Code soll auf den 4 Segmenten eine "1234" sichtbar werden. Das Control-Byte ist so gesetzt, dass er normal arbeitet. Das Instruction Byte so, dass das diesem Byte folgende Byte das Control-Byte ist. (Das Control-Byte könnte man weglassen und direkt die Daten schreiben)

    Funktioniert diese Ansteuerung so? Ist das so einfach?
    Muss ich die Pins vom TWI noch als Ausgang deklarieren oder macht das Bascom?

    Herzlichen Gruss
    Mario [/quote]
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken saa-ansteuerung.jpg  

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.03.2004
    Beiträge
    185
    Der Code sieht gut aus - hast Du ihn mal getestet? Ggf. mal die Kontroll-Bytes checken.

    Hinweis: Ist in Deinem Fall wohl nicht notwendig, aber ich schicke immer ein I2cinit dem Config hinterher.

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Für die Software I2C Routinen ist der I2CInit durchaus notwendig, er setzt sonst die Ports nicht richtig.
    Verwendet man die Hardware-Lösung, sollte man dafür die Geschwindigkeit definieren.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.03.2004
    Beiträge
    185
    So einfach ist das nicht, in den Bascom Samples fehlt oft das I2CInit.
    In der Hilfe steht:
    By default the SCL and SDA pins are in the right state when you reset the chip. Both the PORT and the DDR bits are set to 0 in that case.
    When you need to change the DDR and/or PORT bits you can use I2CINIT to bring the pins in the proper state again.

  5. #5
    Murus
    Gast
    Ok, danke für die Hilfe!

Berechtigungen

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