INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo! Habe das Programm von Jens benutzt um meinen PCA9531 im Bus zu finden. Er will einfach nicht antworten. Sobal ich einfach mein LCD-Display anstecke finde ich sofort die 2 PCF8574 mit den Adressen mit Jens Programm. Bekommt ihn der Bustakt nicht? Was mach ich beim 9531 falsch? -Er bekommt 5V an VDD und GND anVSS -Reset ist mit 10k an high -sda und scl kann ich vom pin bis zum master messen -sda und scl vertauschen bringt nichts -den 9531 auslöten und tauschen bringt nichts -alle anderen Pins habe ich nicht verschaltet (um ganz sicher zu sein) Bitte Leute helft mir, ich bin am verzweifeln! LG Peter ' --------------------------------------------------------------------------- ' --- I2C-Bus durchsuchen - für OCBASIC ------------------------------------- ' --------------------------------------------------------------------------- ' Hardware: ' Serielle Schnittstelle an Port[1] (mit Terminal Programm) ' I2C-Bus SCL an Port[5] (fals nicht anders festgelegt) ' I2C_Bus SDA an Port[6] (fals nicht anders festgelegt) ' Software: ' Das Programm durchsucht den I2C-Bus. Jeder gefundene I2C-Bus Baustein ' wird mit Adresse im Terminal Programm angezeigt. ' --- Betriebssystem konfigurieren ------------------------------------------ include "om.def" ' Betriebssystem Daten der Open-Micro laden 'include "omid.def" ' Betriebssystem Daten der Open-Midi laden ' --- definition der Ports -------------------------------------------------- define RS232 port[1] ' Serielle Schnittstelle an Port 1 ' SDA und SCL werden in "OM_I2C-PRO definiert ' --- definition der Variablen ---------------------------------------------- define adresse byte ' I2C-Bus Adresse define ACK byte ' I2C-Bus "ACK" vom Slave ' --- Voreinstellung und Initialisierung ------------------------------------ End2Host=ON ' Bei Programmende in den HOST-Modus wechseln i2c_init ' Initialisirung I2C-Bus ' --------------------------------------------------------------------------- ' --------------------------------------------------------------------------- ' --- Hauptprogramm --------------------------------------------------------- ' --------------------------------------------------------------------------- #anfang print ' Leerzeile print "I2C-Bus Suche gestartet..." ' Text Ausgabe print ' Leerzeile for adresse=0 to 254 step 2 ' I2C-Bus such - Adressen vorgeben gosub i2c_start ' I2C-Bus starten ACK = i2c_write(adresse) ' Adresse senden, ACK empfangen gosub i2c_stop ' I2C-Bus stoppen if ACK=255 and adresse=0 then goto i2c_fehler ' Fehler im I2C-Bus if ACK = 255 then gosub gefunden ' Wenn "ACK" vom Slave empfangen, dann auswerten next print ' Leerzeile print "Suche abgeschlossen" ' Text Ausbabe end ' Programmende ' --------------------------------------------------------------------------- #i2c_fehler print "Fehler - I2C-Bus nicht bereit" ' Text Ausgabe end ' --------------------------------------------------------------------------- #gefunden print "I2C-Bus Baustein bei Adresse "; Adresse; " (Dez) gefunden..." ' Text Ausgabe return ' --------------------------------------------------------------------------- ' --------------------------------------------------------------------------- ' Die I2C-Routinen einbinden ' --------------------------------------------------------------------------- INCLUDE "om_i2c.pro" ' --------------------------------------------------------------------------- ' Die Firmware-Routinen einbinden ' --------------------------------------------------------------------------- INCLUDE "om_fw.pro" Meine Homepage: http://www.lanzenberg.at |
Antwort schreiben |