Ik heb een probleem bij het implementeren van de i2c bus op een pic 16F84A. Eerst dacht ik dat het aan de code lag die ik geschreven had. maar ik heb er pauzes van 2 seconden in het programma gezet en toen de data op papier gezet en alles bleek te zijn hoe het moet. Dus nu denk ik dat het aan de i2c slave(24lc515) ligt. Ik gebruik dit schema:
http://members.lycos.nl/bertwillemsbert/24Lc.bmp
Pin 5 is met sda(Poort A,0) verbonden en pin 6 is met de scl(Poort A, 1)verbonden.

Het adress waat ik naar toe zend is 10100110. Maar op de 9 klokpulse krijg ik geen ack

Link naar het 24LC515 datasheet:
http://members.lycos.nl/bertwillemsbert/24LC515.pdf
Code is voor mplab:
http://members.lycos.nl/bertwillemsbert/code.zip

alvast bedankt.

MSB,LSB van de adress-byte niet in juiste volgorde verstuurd?

Ik heb de bits ff omgedraaid maar dat hielp ook niet. Ik denk dat het toch aan de slave ligt.

By the way, ik probeer de code te vinden op de link die je vermeld, maar geraak niet aan de file.
http://members.lycos.nl/bertwillemsbert/code.zip
krijg melding "website wordt op dit ogenblik bewerkt"

Heeft iemand toevallig een goede i2c interface voor de parralle/seriële poort van de computer? Ik geen zin om er zelf een te schrijven.

het ligt niet aan je ontvanger maar aan de verificatie code die je gebruikt om hem op te roepen, die moet 10101110 zijn om goed te werken omdat je alle 3 de a poorten hoog hebt gemaakt

Wouter

Op 6 januari 2003 17:51:30 schreef bert willems:
Heeft iemand toevallig een goede i2c interface voor de parralle/seriële poort van de computer? Ik geen zin om er zelf een te schrijven.

kijk eens op piclist.com

Beste wouter

Iedereen bedankt voor de reactie

Wouter:
Volgens het datasheet moet A2 aan de Vcc liggen om goed te werken. en wordt dit bit bebruikt om een page te selecteren.

sorry had de datasheet van een 24lc512 voor mijn neus liggen, die ik zelf had gedownload. die heeft die pin wel als chip select. sorry.

ik lees nog ff dat dit bij de acknowledgement timing staat:
je moet de geheugen chip op dit moment (als je de ack verwacht loslaten zodat de chip er iets mee kan, kweenie hoe maar misschien ligt het hier aan: dit staat in de datasheet:

(voor ack): Transmitter must release the SDA line at this point
allowing the Receiver to pull the SDA line low to
acknowledge the previous eight bits of data.

(na ack): Receiver must release the SDA line at this point
so the Transmitter can continue sending data.

In de code gebeurt dat ook maar de slave geeft geen ack.

Hmm, weet je zeker dat het chippie goed is? ('kweenie of het een duur chippie is, en of je er zomaar eentje kunt krijgen maar ik zou ff een nieuwe halen. Als alle bollebozen hier er niet uitkomen...)

ff off-topic:

I2C is toch een protocol voor chippies om ze met elkaar te laten praten?

Ik war er al bang voor dat er iets mis was met die chip. Ik denk dat idd ff een nieuwe ga halen. En i2c is idd "een protocol om chippies met elkaar te laten praten."