www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DS1820 will nicht an Atmega32


Autor: Christian M. (cooool39)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also der sensor funktioniert an einen Atmega8 bloß halt nicht am 
Atmega32 (code ist natürlich an den Atmega32 angepasst worden) aber der 
Ds1820 will halt nicht gehen, bzw wird nicht erkannt.
Woran kann das liegen ?  ist er am falschen Port?? (d.0)
$regfile = "m32def.dat"
$crystal = 16000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Config 1wire = Portd.0

Const Parasitpower = 1

Const Ds1820 = &H10

Const Skiprom = &HCC
Const Read_rom = &H33
Const Convertt = &H44
Const Read_ram = &HBE
Const Write_ram = &H4E
Const Copy_ram = &H48
Const Recall_ee = &HB8
Const Read_power = &HB4

Dim Family_code As Byte
Dim Serial_number(6) As Byte
Dim Crc As Byte
Dim Scratch(9) As Byte

Dim I As Byte
Dim Temp As Word
Dim Temp1 As Integer
Dim Stemp As Single

Do
   1wreset
   If Err = 1 Then Lcd "Ibutton Error"

   1wwrite Read_rom

   Family_code = 1wread()
   For I = 1 To 6
      Serial_number(i) = 1wread()
   Next
   Crc = 1wread()
   If Family_code <> Ds1820 Then Exit Do

   1wwrite Convertt

   #if Parasitpower
      Wait 2
   #else
      Do
         Temp = 1wread()
      Loop Until Temp = &HFF
   #endif

   1wreset
   If Err = 1 Then Lcd "Ibutton Error"

   1wwrite Skiprom
   1wwrite Read_ram
   For I = 1 To 9
      Scratch(i) = 1wread()
   Next

   Temp = Scratch(2)
   Shift Temp , Left , 8

   Temp = Temp + Scratch(1)
   Temp1 = Temp

   Temp1 = Temp1 / 2
   Lcd Temp1

   Stemp = Scratch(8) - Scratch(7)
   Stemp = Stemp / Scratch(8)
   Stemp = Stemp + Temp1
   Stemp = Stemp - 0.25
   Lowerline
   Lcd Fusing(stemp , "#.##")
   Wait 2
Loop

 Lcd "Kein Sensor"

End

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke, daß es daran liegt:If Family_code <> Ds1820 Then Exit Do
Das Ding gibt &H10 zurück, wenn er nach seinem Family-Code gefragt wird, 
aber nicht seinen Namen "DS1820".

MfG Paul

Autor: nobody (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beispiel für myAVR Board mit LCD Display und Temperatursensor DS1820

http://bascom-forum.de/index.php/topic,76.msg185.html#msg185

Autor: Christian M. (cooool39)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
am avrbord / bzw am armega8 geht es einwandfrei halt bloß nicht an einen 
Atmega32!!!

Autor: Holger Krull (krulli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie stehen die Fuses beim Mega32? Noch auf internen Takt? JTAGEN noch 
aktiviert?

Autor: Randy N. (huskynet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es müsste an dem aktivierten JTAG liegen. Beim ATmega32 sind die 
JTAG-Anschlüsse am Port C. Ich hatte vor kurzem das gleiche Problem. 
Einfach das Fuse-Bit JTAGEN löschen, und es geht.

Autor: Christian M. (cooool39)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also am JTAG liegt es nicht (habe sowie so schon von portc auf portb 
gewechselt) aber wie sieht es nun mit dem takt aus? ich ahbe einen 16MHz 
quarz und den chip auf external clock eingestellt, ist das richtig?

Autor: Holger Krull (krulli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
external crystal/resonator High Freq.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.