Problem med 1wire och DS2438
Postat: 18 april 2011, 20:57:26
Ska prata med en DS2438 med en 8051 (eller rättare sagt CC2530) processor men har lite problem med 1-wire interfacet. Problemet är att DS2438 inte verkar kunna driva signalen låg med sin presence-puls efter att processorn skickat en reset puls. Se bild:

Koden som körs är i princip rakt av från maxim:
Hårdvara som används är smartrf05eb tillsammans med cc2530em som kör TI:s Z-stack. DS2438 används tillsammans med en HIH4000 fuktsensor som sitter på ett kort med 2 spänningsreggar(5V och 3.3V).
Någon som har en aning om vad som kan vara fel? Ska testa imorrn med en DS18b20 och se hur den beter sig. Måste erkänna att jag inte är helt hemma på 8051 programmering, men efter att ha läst så ska det räcka att skriva en '1'a till en port för att använda den som ingång.

Koden som körs är i princip rakt av från maxim:
Kod: Markera allt
#define DQ P1_0
unsigned char ow_reset(void)
{
unsigned char presence;
DQ = 0; //pull DQ line low
delay(460); // leave it low for 480us
DQ = 1; // allow line to return high
delay(52); // wait for presence // 60 us
presence = DQ; // get presence signal
delay(400); // wait for end of timeslot
return(presence); // presence signal returned
} // 0=presence, 1 = no part
Någon som har en aning om vad som kan vara fel? Ska testa imorrn med en DS18b20 och se hur den beter sig. Måste erkänna att jag inte är helt hemma på 8051 programmering, men efter att ha läst så ska det räcka att skriva en '1'a till en port för att använda den som ingång.