Mensen, ben nog steeds aan het tobben met de TWI (to Wire Interface) ofwel I2C interface.

ik heb de source die ik had reeds gepost in DIT TOPIC

Heb echter wel ontdekt WAT er mis gaat: ik moet de slave erst adresseren natuurlijk, maar hoe doe ik dit??

Ik snap wel hoe het in theorie moet, maar hoe in parktijk, ik gebruik een ATMEGA 16 en een 24C08 EEPROM

Ben nu op mijn stageplaats, maar als ik straks thuiskom zal ik je een manier doorsturen (is wel maar voor 8bits adres + 8bits data)

Tenzij een andere COer vroeger met een oplossing komt natuurlijk.

Tania

Ik weet nl wel WAT ik mis: mis dus het adress van de Slave (24c08) die moet ergens ingesteld worden.
Dan meot de master (atmega16) natuurlijk ook een adress hebben.
En ik moet weten op welke bytes ik in de EEPROM(24c08) mag schrijven.

Ik krijg nu geen acknolegde omdat de eeprom waarschijnlijk niet ziet dat het zijn adress is.

Ben er nu achter dat ik de eeprom op de chip kan adresseren, dat gaat dus op zich goed, hij staat nu op E1,E2 en E3 laag, dus adress is 0, stuur hem nu aan op adress 160 daar de eerste 4 bits de combinatie 1010 moeten hebben wat dus neerkomt op 160, daar de overige bits 0 blijven kan dit normaal.

Maar krijg nog steeds geen acknoledge, heb het control register even uitgelezen en dat lijkt allemaal te kloppen. krijg na start wel een acknoledge, dan cleart hij de acknolegde vlag weer en neemt hij controle over de bus, dat gaat dus prima, maar krijg nooit een acknolegde van de eeprom. Hij loopt vast in de while lus waar hij op deze acknolegde wacht. Dus hij de eeprom ziet niets of iets wat niet voor hem bestemt is

[Bericht gewijzigd door High met Henk op ]

hmm robleem 1 gevonden, had foutje gemaakt met inpluggen in breadboard, de adress pinnen zaten niet aan gnd, maar aan VCC, nu gefixed, maar hij doet het nog niet

Op 1 maart 2004 10:31:12 schreef Tommi_G:
Ben nu op mijn stageplaats, maar als ik straks thuiskom zal ik je een manier doorsturen (is wel maar voor 8bits adres + 8bits data)

Tenzij een andere COer vroeger met een oplossing komt natuurlijk.

Tania

Sorry Henk, maar ben gisteren maar 5 minuten thuis geweest om te eten. Ik herinner me juist wel dat de IC (90LS8535) die ik heb gebruikt geen ingebouwde TWI had, maar ik heb die softwarematig gemaakt op twee outputpennen van (ik denk) poort C. Mocht je nog geinterreseerd zijn, geef me dan een seintje.

de ATMEGA16 heeft de TWI op port C zitten, wee tniet welke AVR jij gebruikt hebt

PROBLEEM OPGELOST

heb ff hulp van huis programmeur gevraagd,

Maar lukte nog niet, nu prescaler verhoogt en ineens deed hij het; miste klokpulsen volgens scoopbeeldje

toch gekke opmerking: als ik boven 1 khz kom gaat het fout, wie kent dit probleem?