Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

One Wire DS18S20 auf AVR 32 Kategorie: Sonstige Hardware (von Gordon Pipa - 24.11.2013 13:43)


Hallo, hat schonmal jemand die ONE WIRE Kommunikation auf dem neuen AVR 32 getestet.
Wenn ich das demo programm laufen lasse bekomme ich einen Return value ret=1 für erfolgreiches
finden eines one wire devices. Danach scheinen aber alle versuche das device zu lesen mit zu scheitern
Jeder der lese Kommandos, sowohl für den rom_code als auch für scratch_pad(i)= OneWire_Read() ergeben
bei mir nullen. Um auszuschliessen das der DS18S20 habe ich gleiches auf einer Pro128 getestet. Da
läuft es. Den DS18S20 habe ich zusätzlich mit 3.3V versorgungsspannung versehen.

Hat jemand ähnliches bemerkt ? Oder eine Lösung ?

Angehängt das Demo programm:

/*******************************************************************************

 Project Name:      DS18S20.cprj
 Required Libs's:   IntFunc_lib.cc
 Files:             DS18S20.cbas
 Writer:            CCPRO-TEAM
 Date:              29.08.2013
 Function:          Demonstrates OneWire functions

 ------------------------------------------------------------------------------
 AVR32 Serie:
 Required the C-Control PRO AVR32-Bit UNIT Conrad BN: 192573
 Applicationboard Conrad BN: 192587
 Or Mainboard Conrad BN: 192702

 MEGA Serie:
 Required the C-Control PRO MEGA32 UNIT Conrad BN: 198206
 and Evalationboard Conrad BN: 198245
 Or Projectboard Conrad BN: 197287

 Or C-Control PRO MEGA128 UNIT Conrad BN: 198219
 Or C-Control PRO MEGA128CAN Conrad BN: 197989
 and Evaluationboard Conrad BN: 198258
 or Projectboard Conrad BN: 197313
 ------------------------------------------------------------------------------

 Note:
 -----

 Sample Code to read DS18S20 temperature sensor from Dallas Maxim
 Conrad BN: 198284

*******************************************************************************/

' C-Control PRO AVR32 Mainboard 1Wire port is P3
#define 1WirePort   P3


Dim text(40) As Char
Dim ret,i As Integer
Dim temp As Integer
Dim rom_code(8) As Byte
Dim scratch_pad(9) As Byte


/*------------------------------------------------------------------------------
name:           main
input:          -
output:         -
description:    Read from sensor
------------------------------------------------------------------------------*/
Sub main()

    ret = OneWire_Reset(1WirePort)

    If ret = 0 Then
       text= "no device found"
       Msg_WriteText(text)
       Goto Ende
    End If


    OneWire_Write(0x33)                 ' Read slave’s 64-bit ROM code cmd
    For i = 0 To 8
        rom_code(i) = OneWire_Read()    ' Read ROM code byte
        Msg_WriteHex(rom_code(i))
    Next
    Msg_WriteChar(13)


    OneWire_Reset(1WirePort)
    OneWire_Write(0xcc)                 ' Skip ROM cmd
    OneWire_Write(0x44)                 ' Start temperature measure cmd

    AbsDelay(3000)

    OneWire_Reset(1WirePort)            ' PortA.7
    OneWire_Write(0xcc)                 ' Skip ROM cmd
    OneWire_Write(0xbe)                 ' Read scratch_pad cmd

    For i = 0 To 9                      ' Read whole scratchpad
        scratch_pad(i)= OneWire_Read()
        Msg_WriteHex(scratch_pad(i))
    Next
    Msg_WriteChar(13)

    text = "Temperature: "
    Msg_WriteText(text)

    temp = scratch_pad(1) * 256 + scratch_pad(0)
    Msg_WriteFloat(temp * 0.5)
    Msg_WriteChar(99)
    Msg_WriteChar(13)


    Lab Ende

End Sub


/*******************************************************************************
 * Info
 *******************************************************************************
 * Changelog:
 * -
 *
 *******************************************************************************
 * Bugs, feedback, questions and modifications can be posted on the
 * C-Control Forum on http://www.c-control.de
 * Of course you can also write us an e-mail to: webmaster@c-control.de
 * We publish updates from time to time on www.c-control.de!
/******************************************************************************/

' EOF


    Antwort schreiben


Antworten:

Re: One Wire DS18S20 auf AVR 32 (von Bernd L. - 8.12.2013 16:06)
Re: One Wire DS18S20 auf AVR 32 (von UlliS - 25.11.2013 10:26)