Atmega168 mit LM75 bei 20Mhz

Gast #3178898
Lesenswert?
• ▲
▼
Hallo zusammen,

habe ein Problem und zwar habe ich einen Atmega168 mit 20Mhz an einen 
LM75 und dem EDIP240 über I2C hängen.

Habe eine 100kHz SCL (auch mittels Oszi gemessen)

Das Problem ist aber wenn ich den Atmega brenne schickt er mir genau 1 
mal die Temperatur an das Display und dann nicht mehr.

Muss noch dazu sagen dass es mit dem internen Oszillator mit 10kHz 
funktioniert hat. Theortisch sollte es ja auch funktionieren wenn ich 
beim 20Mhz Quarz und 10kHz SCL betreibe - Tut es aber nicht...

habe damals nur eine kleine Pause für den LM75 angefügt und es hat 
funktioniert...hatte nämlich das selbe problem vorher auch aber jetzt 
bekomme ich es nicht mehr weg.

void init_I2C ()
{
  TWBR = 23;
  TWSR = 1;
}

  Ab hier ist die Temperatur abfrage!

                  i2c_start ();
    i2c_senden (0x90);

    i2c_senden (0x00);
    i2c_start ();

    i2c_senden (0x91);            //adresse lm75, + startbedingung
    temperatur = i2c_empfang();        //empfang erstes byte
    //temperatur = i2c_readNak();
    LM75_temp = temperatur<<8;
    temperatur2 = i2c_empfang2();      //empfang 2tes byte *
    //temperatur2 = i2c_readAck();
    LM75_temp |=temperatur2;



    i2c_stop();                //stopbedingung schicken

    wait_ms(150);


mfg
Scary
Gast #3178980
Lesenswert?
• ▲
▼
so hab mittlerweile die Ursache gefunden nur verstehe ich nicht ganz 
warum das so ist,vielleicht kann mir jemand helfen?

mit der _delay_ms(xx) funktioniert es aber wieso nicht mit der 
wait_ms(xx)
hab im delay.h die CPU Frequenz vergessen zu ändern...

void wait_ms(int miliSec)
{
  _delay_loop_2( 1*(F_CPU/(1000/4)) * miliSec);  //4 Zyklen 
warteschleife
}

danke!
Gast #3179027
Lesenswert?
• ▲
▼
weil ich noch nicht gut im prog. bin und deswegen das einfach kopiert 
habe...natürlich jetzt im nachhinein ist das einfach nur MIST.

Natürlich ein delay ist sowieso beschi**en da es ja das prog herbremst 
aber es wird sowieso noch durch einen timer ersetzt. Auch deswegen habe 
ich mich in der hinsicht nicht darum gekümmert.

aber danke nochmal

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.