OneWire Protokoll

OP #3143278
Lesenswert?
• ▲
▼
Hallo,
ich versuche ein 1-Draht Protokoll in C zu schreiben(Atmega16 , 
fosz=8MHz).
Ich orientiere mich an dem Projekt 
Beitrag "1-Wire-Bus-Projekt: DS1820  DS18S20  DS2450  DS2408  unter C und 8051".

Ich hoffe jemand kann mir sagen , was daran nicht stimmt.
Vorallem bei den Funktionen zum Lesen und schreiben der Bits auf dem 
Bus.

Danke im Vorraus ;D
Angehängte Dateien:
Gast #3143306
Lesenswert?
• ▲
▼
> Ich hoffe jemand kann mir sagen , was daran nicht stimmt.
> Vorallem bei den Funktionen zum Lesen und schreiben der Bits
> auf dem Bus.

Da hoffst Du vergebens, nicht weil es hier keine Leute gäbe, die das 
könnten, sondern weil Du viel zu wenig Angaben machst, was geht, was 
nicht geht, was Du schon unternommen hast etc.
Ich müsste jetzt einen Testaufbau machen, das File kompilieren, den Oszi 
anwerfen, etc.   Glaubst Du, das macht jemand?

Gezielte Fragen werden hier gern beantwortet.
aber nicht: macht das mal für mich.

Noch dazu, wo es tausendfach getesteten funktionierenden Code gibt.
Gast #3143318
Lesenswert?
• ▲
▼
mark S. schrieb:
> Ich hoffe jemand kann mir sagen , was daran nicht stimmt.

Was soll diese Funktion
1
void _delay(unsigned char delay)
2
{
3
  unsigned char i;
4
  for(i=0; i<delay; i++);
5
}
Wie soll die funktion definierte Verzögerungszeiten liefern, wenn die 
CPU-Frequenz nicht berücksichtigt ist. Wozu gibt es in der delay.h die 
Funktion delay_us? Hast du die Compileroptimierung entsprechend den 
Angaben in der delay.h eingestellt?
OP #3144009
Lesenswert?
• ▲
▼
Hallo eProfi,

danke für deinen Beitrag.
Das Problem ist , dass mir schon bei der Master Reset Funktion eine '0' 
zurückgegeben wird. Das heisst kein Slave am Bus.
1.Ich vermute mal das das ein Timing Problem ist,doch wie kann ich das 
Überprüfen?

2.Oder ist es sinnvoller mit Timern zu arbeiten?

3.Ist die Funktion ReadBit() soweit korrekt, oder muss ich hier noch was 
wegen den PullUp Widerstand beachten?

Danke für euere Antworten..

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.