-
-
Neuer Benutzer
Öfters hier
Kapazitiver Sensor AD7746 mit Atmega8 auslesen
Hallo!
Ich versuche verzweifelt mit einem Atmega8 einen AD7746 auszulesen.
Ich richte mich nach dem Datenblatt und versuche die Register 1,2 und 3 auszulesen bekomme aber nur Datensalat auf dem LCD angezeigt.
Ich weiß einfach nicht mehr weiter.
Vielleicht kann mir jemand helfen.
-
Erfahrener Benutzer
Roboter Genie
Also meine Glaskugel sagt mir das an Zeile 25 in deinem Programmcode ein Fehler vorliegt ...
---
Sprich: Du musst schon ein paar Details los werden, damit dir hier jemand helfen kann.
www.subms.de
Aktuell: Flaschcraft Funkboard - Informationssammlung
-
Neuer Benutzer
Öfters hier
Hier mein Code:
$regfile = "M8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 3 , Chipset = Dogm163v5
Config Lcdbus = 4
Cls
Config Sda = Portc.4
Config Scl = Portc.5
Const Ad7746w = &H90
Const Ad7746r = &H91
Dim Highb As Byte , Midb As Byte , Lowb As Byte
Do
I2cstart
I2cwbyte Ad7746w
I2cwbyte &H1
I2cstart
I2cwbyte Ad7746r
I2crbyte Highb , Ack
I2crbyte Midb , Ack
I2crbyte Lowb , Nack
I2cstop
Locate 1 , 2
Lcd Highb ; " " ; Midb ; " " ; Lowb
Waitms 100
Loop
End
-
Neuer Benutzer
Öfters hier
Kann mir keiner helfen ??????
-
Erfahrener Benutzer
Fleißiges Mitglied
Deine I2C Leseroutine sieht etwas komisch aus. Was ist "I2Cwbyte &H1" ?
Versuchs doch mal so:
Dim Highb as Byte
Dim Midb as Byte
Dim Lowb as Byte
Dim Wert as Word at Highb Overlay
i2cstart
i2cwbyte &H91
i2crbyte Highb, Ack
i2crbyte Midb, Ack
i2crbyte Lowb, Nack
i2cstop
Lcd "Wert: " , Wert
-
Neuer Benutzer
Öfters hier
Hallo m@rkus33,
vielen Dank für Deine Antwort.
Funktioniert aber leider auch nicht.
-
Erfahrener Benutzer
Fleißiges Mitglied
Hast Du die I2C Libary?
$lib "i2c_twi.lbx"
und konfigurier mal die I2C so:
Config Scl = Portc.x 'den Du hast
Config Sda = Portc.x 'den Du hast
Config Twi = 100000
Twbr = 12 'bit rate register
Twsr = 0
I2cinit
Muss gehen, geht bei mir auch so.
Gruß
Markus
-
Neuer Benutzer
Öfters hier
Habe auch das versucht.
Bekomme zwar auf dem LCD einen Wert angezeigt,
dieser ändert sich aber nicht bei Berühren des Sensors.
Gruß
Andreas
-
Erfahrener Benutzer
Fleißiges Mitglied
Es ist ein wenig schwierig aus den dürftigen Info´s den Fehler zu finden. Stell mal den ganzen Code ein. Ich gehe mal davon aus, das der I2C Bus Hardwareseitig richtig aufgebaut ist.
Die I2C Libary hast Du? Ich musste diese damals von der MCS Seite downloaden und "kaufen".
Gruß
Markus
-
Neuer Benutzer
Öfters hier
Code ist nicht mehr als weiter oben.
Die i2c-Library habe ich und verkabelt ist auch alles richtig.
Gruß
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen