AVR mit LM75 und avrgcc

Gast #100809
Lesenswert?
• ▲
▼
Hallo Forum,
ich habe folgendes Problem, ich fang gerade an mit C zu Programmieren
(ja auf dem AVR). Vorher habe ich in Basic Programmiert was mir aber
irgendwie zu blöd wurde da man nur sehr wenig über die internen Abläufe
im µC erfährt. Nun gut ich würde gerne einen Lm75 Temperatur Sensor mit
einem AT90S8535 auslesen. Das ganze soll in C mit avrgcc programmiert
werden. Hat das schonmal jemand gemacht? Ich sehe mich ehrlich gesagt
nicht in der lage das selbst zu Programmieren. Wie wende ich eigentlich
diese I2C header Dateien an? Kann ich die benutzen um den LM75
auszulesen? Der ist ja auch I2C.

Vielen Dank schonmal für eure hilfe...

Mfg
Bjoern
Gast #100810
Lesenswert?
• ▲
▼
Hallo Björn,

leider habe ich das nicht auf einem 90S8535 gemacht, sondern auf einem
Tiny26.

Anbei liegt der Code.
Schau in Dir einfach mal an, vielleicht hilfts Dir. BTW: Ist eine
Software I2C implementation.

Gruß Marcus
Angehängte Dateien:
Gast #100812
Lesenswert?
• ▲
▼
Hallo Björn,

die Hardware I2C Ansteuerung ist wesendlich einfacher, ich habe nur
leider im Moment keinen Code parat. Sorry!

Du mußt nur die I2C-Interrupts auswerten und in das I2C-Datenregister
schreiben bzw. aus ihm lesen, soweit ich weiß, besitzt der Baustein
eins.

Gruß Marcus
Gast #100814
Lesenswert?
• ▲
▼
Ja die twidemo.c hab ich mir auch schon mal angeguckt, bin aber nicht so
ganz schlau draus geworden. Wie gesagt ich fange erst an in C zu
Programmieren. Ja gut ist vielleicht nicht das schlaueste auf einem
Mikrocontroller eine Programmiersprache zu lernen aber ich denke mit
der Zeit werden meine ergebnisse besser. Ich werde mich gleich mal ans
Programmieren begeben, wenn der Code nicht läuft werd ich ihn hier mal
Posten dann könnt ihr mir vielleicht bessere Ratschläge geben. Aber
bitte nicht selbst drauf los verbessern weil dann versteh ich wieder
nicht was da an meinem Code eigentlich falsch war :-)
Gast #100815
Lesenswert?
• ▲
▼
> Ja gut ist vielleicht nicht das schlaueste auf einem Mikrocontroller
> eine Programmiersprache zu lernen [...]

In der Tat.  Es debuggt sich relativ schlecht auf einem solchen
(selbst mit Dingen wie JTAG-ICE noch, ohne derartige Vorrichtungen
noch schlechter).

Aus dem twidemo wirst Du sicher nur schlau, wenn Du Dir die Grundlagen
von I²C mal angesehen hast sowie die entsprechenden Erklärungen im
Datenblatt.
Gast #100816
Lesenswert?
• ▲
▼
Hallo Leute,
ich könnte nochmal einen kleinen Denkanstoß gebrauchen, an und für sich
stehen die Routinen von der Logik her und vom Code eigentlich auch, aber
welche delays muss ich verwenden wenn ich z.B. Sck Pulsen will? Ich habe
mir das Datasheet zum LM75 angeschaut bin daraus aber nicht wirklich
schlau geworden. Ich habe dann die Programmroutinen, weil es auf dem
AVR nicht wirklich geklappt hat, für eine C-Control in Basic übersetzt
naja mit der C-Control geht es. Ich glaube es liegt einfach an der
Geschwindigkeit des AVR...
Gast #100817
Lesenswert?
• ▲
▼
Hallo Björn,

wenn der Prozessor eine integrierte TWI Schnittstelle hat, dann stell
ihn auf 100kHz und laß die Schnittstelle die ganze arbeit selbst
machen.

Mache das gerade selber mit einem Mega16.
Ist wensendlich weniger Arbeit als alles andere!!

Gruß Marcus

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.