I2C problem. (pic + I2C eeprom)
Jahapp, efter många timmars felsökande har jag nu äntligen lyckats med koden. Det slutade med att jag kollade om jag fick ett ACK eller inte. Gjorde om så att, om jag fick ett ACK så ökade jag en variabels värde med ett, sedan skickades detta värde ut binärt till lysdioder på portb. Jag blev mycket överaskad att jag fick ACK varje gång jag skickade en byte.
Nåja, efter ytterligare någon timme så råkade jag kolla längst ner i "Rand_write" funktionen och upptäckte att något saknades...
Det fanns inget "call EEPROM_Stop" i slutet vilket innebar att när jag sedan kallade på "Rand_read" så blev det ett restart så att eepromet började mata ut data samtidigt som picen försökte mata in data. En rad och en minut senare funkar allt alldeles utmärkt. Detta är det mesta tid jag någonsin lagt ner för att skriva en rad kod

Nåja, efter ytterligare någon timme så råkade jag kolla längst ner i "Rand_write" funktionen och upptäckte att något saknades...
Det fanns inget "call EEPROM_Stop" i slutet vilket innebar att när jag sedan kallade på "Rand_read" så blev det ett restart så att eepromet började mata ut data samtidigt som picen försökte mata in data. En rad och en minut senare funkar allt alldeles utmärkt. Detta är det mesta tid jag någonsin lagt ner för att skriva en rad kod


Senast redigerad av Rocky_AL 24 september 2008, 22:07:46, redigerad totalt 2 gånger.