beste mensen,

ik heb in MikroBasic een klein programmatje gemaakt maar het wil niet werken althans daar lijkt het op.

targetdevice: 16F628A
xterne clock 4Mhz
wdt_off
PWRTE_on
mclr_off
lvp_off


program I2Cextender

Include "SoftI2C"

dim started as byte

main:
porta = 0
portb = 0
trisa = 0
trisb = 0

portb = 255

Soft_I2C_Config(portb,3,4)
Soft_i2c_start()
soft_I2C_write(64)
soft_i2c_write(254)
Soft_i2c_STOP()

portb = 0

end.

zover ik kan zien wordt er geen i2c signalen uitgezonden.

de debugger van mikroe zelf blijft in een endlessloop hangen op een of ander bitje en als je dat dan hoog maakt gaat hij verder en schiet vervolgens weer terug in
dezelfde loop.

en op de hardware zie ik eerst heel de poort hoog gaan behalve poort 3 en 4 die blijven laag.

Gebruik je wel pull-up weerstanden ?

maakt geen verschil maar zal dalijk even controleren of de verbinding niet brak is(breadboard) maar dat verklaart niet waarom de debugger(software debugger) het programma niet doorloopt

Stel Portb.3 en Portb.4 eens als ingang in...

mario je bent de reddende engel
eigenlijk nogal een domme fout want wil je gaan communiceren op de I2C bus moet je natuurlijk wel kijken of die vrij is en dat kan alleen als je pinnen ingang zijn.

/edit
morgen even uitgebreid verder testen dan zet ik de I2C chips er juist bij maar het board zit zonder voeding wegens een defecte secundaire winding van de voedingstrafo:(

[Bericht gewijzigd door timmie op (31%)]

Ik heb dit probleem ook gehad toen ik met I2C begon, en heb toen heel wat uren gezocht :)

@MMSoft ik heb nu getest met alle poorte uitgang maar dan werkt soft i2c wel gewoon gebruikte jij soft of hardware i2c?

naar wat stomme fouten te hebben gemaakt heb ik nu iets werkends.

voor de geintresseerde de stomme fouten:
labvoeding niet aanzetten.
meten met zwevende gnd(scoop)
verkeerde adressen gebruiken.
geen pullups op je scl/sda(en dan begint het niet)

Of het toen over Soft of hardware I2C ging weet ik niet meer.
Ik progde toen wel in ASM, en die doet precies wat je opgeeft.
Waarschijnlijk stelt "MikroBasic" de poorten juist in voor je...

dat denk ik ook maar ik zal ook eens proberen met hardware lib van mikroelectronica.

en dan gaan poorten naar een 18F2550 uiteindelijk moet er ook usb worden ingebracht en als dat dan mooi in de zelfde chip kan is dat alleen maar fijn.

Voor USB gebruik ik o.a. de 18F2455, maar deze staat in dezelfde datasheet als de 18F2550.
Dus deze PIC's zullen niet veel van elkaar afwijken...