Ik ben druk bezig om een I2C verbinding aan de gang te krijgen tussen een PIC18F2455 en een TCN75 temperatuur sensor.
Helaas krijg ik dit niet aan de gang.
Heeft iemand een stuk werkende code liggen, zodat ik kan kijken hoe dit moet ?
ymoona
voor hobby elektronica projecten => http://ymoona.com/wiki
Hierbij wat gegevens:
RB0 is SDA
RB1 is SCL
De lijnen SDA en SCL worden met pull-up weerstanden (4K7) omhoog getrokken.
RB0 en RB1 zijn als Ingang ingesteld
Het adres van de TCN75 is 1001001 (A0=Hoog, A1 en A2 zijn laag)
Vraag:
Wat is het verschil tussen SPI of I2C Mode, en hoe wordt deze mode gekozen ?
Videomodulator
AKA Naftebakje @Tweakers.net --- Zonder dwarsliggers geen spoor
Op 9 september 2006 18:19:48 schreef MMSoft:
Vraag:
Wat is het verschil tussen SPI of I2C Mode, en hoe wordt deze mode gekozen ?
SPI is een 3-draads protocol, terwijl I2C 2draads is. De rest (bitjes in registers goed zetten enzo) is datasheet lezen, dat ga ik niet voor je doen, je bent zelf groot en flink genoeg om dat te doen.
Voorbeeldcode kan je bij microchip downloaden, maar ik heb ervaren dat het sneller gaat als je gewoon de hele routine zelf schrijft, er moest nogal ferm aangepast worden om die code in gang te krijgen (op een 16F88).
[Bericht gewijzigd door Videomodulator op ]
Ik ben nu zover dat ik communicatie heb op de I2C Bus.
Toch heb ik nog enkele vragen:
Hoe kan ik kiezen tussen SPI / I2C Mode (waar stel ik dat in) ?
Als ik de TCN75 alleen voor temperatuur meting wil gebruiken, moet ik dan de One-shot mode gebruiken.
En hoe stel ik die precies in ?
Hoe kom je er bij dat dat ding zowel SPI als I2C zou kunnen spreken? In de datasheet staat SPI nergens vermeld. Microchip brengt naast de TCN75 wel vergelijkbare sensoren op de markt met een SPI i.p.v. een I2C interface.
Oh, wacht zo bedoel ik het niet.
Ik ben mij aan het verdiepen in het I2C gebeuren.
In de PIC kan je vanalles instellen, zo moet je (waarschijnlijk) ook ergens instellen of je met SPI of met I2C werkt.
Dit kan ik niet gevonden krijgen.
De bus werkt nu wel, maar ben benieuwd waar/hoe je dat moet instellen...
Oh, mijn fout.. ik ben zelf nog steeds aan het aanrommelen met de 16f648a en dergelijke en was vergeten dat de grotere pics de luxe hebben van een ingebouwde SPI of I2C bus.
http://ww1.microchip.com/downloads/en/DeviceDoc/31017a.pdf
en er gaat weer een wereld voor je open
(p.s dit is hoofstuk 17 zoek de mid range MCU family reference manual voor de voledige 700 pagina tellende pdf)
Het werkt !
De TCN75 wordt nu via de I2C bus uitgelezen door de PIC18F2455.
Deze geeft vervolgens deze data door aan de PC (via USB).
Eerst werkte de negatieve temperaturen niet, maar dat is nu ook voor elkaar.
Ik heb nog wel enkele (diverse) vragen, maar heb de laatste dagen even genoeg Datasheets gezien 
Tip gebruik een scoop, dat maakt het een stukje eenvoudiger.