Hallo JanPeter:

Ich hab auch NiMH, mit 2000 mAh.
Ich könnte wetten, dass das Programm beim ersten Einschalten nicht angelaufen ist, erst nach Ausschalten, Einschalten und nochmal START; aber ich bin mir nicht sicher, weil meine START manchmal nicht geht. Seitdem hatte ich keine Probleme mehr.
Die zusätzlichen Bauteile (74HCT00, PCF8574, LCD, PCF8574A) laufen auch unauffällig vor sich hin.

Trotzdem!
Aber das mit dem Regler ist mir auch nicht ganz geheuer. DIE HARD hatte da mal geschrieben, welche Teile UNBEDINGT auch mit 7 V laufen müssen (Mosfets? ).

Der I2C_READ läuft. Ich hab folgendes gemacht:

Auf Steckbrett:
1. PCF8674 mit Adressen auf Gnd, = &H40 (am LCD habe ich ja PCF8574A...)
2. Alle 8 Daten-Ports über 10 k nach "Vcc"
3. Steckbrett samt PCF mit 4 Käbelchen an Gnd, Vcc, SDA, SCL in meine parallele zweite I2C-Buchse am LCD MiniBoard gesteckt
4. Zum Testen mit Käbelchen die Daten-Ports des PCF auf Gnd gelegt.

Im CCBASIC Testprogramm irgendwo Endlosschleife eingefügt:
Code:
#show_i2c_read
    gosub lcd_cls
    gosub lcd_print : print "I2C read";
    
    #read_loop
        gosub lcd_line2
        gosub lcd_print : print "val=";
        subcmd = i2C_read
        gosub lcd_write_hex
    goto read_loop


und am Ende irgendwo die Basistreiber


'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'IIIIIIIIII              CCRP5 I2C DRIVERS
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

#I2C_READ  ' reads and RETURNs one byte from the I2C device with WRITE (!) address I2C_ADDR
           ' IN:  ---
           ' OUT: RETURN = byte read from device
           ' EX:  value = i2c_read
    sys I2C_READ_ I2C_ADDR
    return

#I2C_WRITE ' writes HBYTE to the I2C device with (WRITE) address I2C_ADDR
           ' IN:  HBYTE:  byte to be written to I2C device
           ' OUT: ---
           ' EX:  hbyte = 123 : gosub I2C_WRITE
    sys I2C_WRITE_ hbyte, I2C_ADDR
    return
Viel Erfolg damit!