Werken met I²C

Hallo ,
Ik zit met een probleem dat ik via een PIC16F84 een temperatuurslezing wil doen . Mijn temperatuursensor werkt via I²C . Het type is sht7x . Ik heb nog nooit met I²C gewerkt , het is de eerste keer . Ik wil mijn PIC programmerne in C . Kan iemand mij helpen mij op weg te zetten .

free_electron

Silicon Member

google i2c faq. voor al uw antwoorden ivm i2c

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM

Lekker cryptisch :P

2e hit met google:
http://www.semiconductors.philips.com/acrobat_download/literature/9398…

Een dikke vette datasheet over i2c. U gaat door voor de... :p:P

En voor de mensen die geen engels kunnen:
http://www.hzeeland.nl/~embsys/orientatie_files/VerslagI2C.doc

[Bericht gewijzigd door Arne op dinsdag 17 januari 2006 17:39:20

Evarist

Golden Member

Op 17 januari 2006 17:35:34 schreef arne:
2e hit met google:
http://www.semiconductors.philips.com/acrobat_download/literature/9398…

Dit is het beste wat er te vinden is over I2C. Je zal wel slagen in je ontwerpje. Zelfs ik heb het geleerd.

Nihil est verum, quod non probatur primo.

Op 17 januari 2006 18:58:47 schreef evarist:
[...]
Dit is het beste wat er te vinden is over I2C. Je zal wel slagen in je ontwerpje. Zelfs ik heb het geleerd.

En dat is iets speciaals? :P

Afhankelijk van de compiler die je gebruikt, kan het gerust zijn dat er sofwarematige I²C geimplementeerd zit in de compiler zelf. Ook lijkt het me bijna onmogelijk dat ze geen voorbeeldje met I²C geven.

Ik heb in ASM al een volledige I²C master gemaakt, valt eigenlijk erg mee eenmaal je het door hebt. Als documentatie is de uitleg in de datasheet eigenlijk voldoende.
Ik heb zonder interrupts gewerkt, aangezien het gewoon master-slave was (beide PIC 16F88 trouwens), in je master verzend je iets, en controleer je of er telkens een ACK komt (zo niet, kan je nog een paar keer herproberen, niet werken komt eigenlijk nooit voor zolang je harware goed is (niet teveel weerstand in de lijn, als je enkel 1 master en 1 slave hebt moeten er geen serieweerstanden staan, kan een probleem zijn als er nog een hoogohmige switch tussenstaat).
Voor een antwoord, zend de master gewoon een adres, en wacht ie op zijn antwoord.

Met alle beveiligingen en detecties hoef je geen rekening te houden, en je hoeft maar te luisteren nadat je de slave hebt gevraagd om te antwoorden, erg simpel dus.

Na mijn examens (27 januari) ga ik trouwens met een dergerlijk chipje aan de slag om een terrariumcontroller te bouwen, ik ga em wel programmeren in basic, maar schema's en protocollen kan ik je dan ws wel mee helpen.

AKA Naftebakje @Tweakers.net --- Zonder dwarsliggers geen spoor