Read DS18S20


Closed Thread
Results 1 to 17 of 17

Thread: Read DS18S20

Hybrid View

  1. #1
    Join Date
    Dec 2007
    Location
    Sweden
    Posts
    73


    Did you find this post helpful? Yes | No

    Default

    Hi skimask!

    Sorry, I’m somewhat confused here I don’t know what to believe in (of curse I believe in you!) since I also got a compilation error saying: “ERROR: Macro OWINSTR?W not found in macro file.”

    Huuh?


    Edit: Hey… it’s the other way around, it says 12-bits not supported! (found my glasses) :-) . Then (as usual) I must be doing something else wrong!
    Last edited by PICante; - 18th September 2008 at 17:46.

  2. #2
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by PICante View Post
    since I also got a compilation error saying: “ERROR: Macro OWINSTR?W not found in macro file.”
    The latest PBP update should fix that problem.
    If not, there's a thread somewhere around here relating a problem similar to that..somewhere...

    Edit: Hey… it’s the other way around, it says 14-bits not supported! (found my glasses) :-) . Then (as usual) I must be doing something else wrong!
    I don't know which manual you're reading.
    My manual says 12-bits aren't supported using the REP and STR modifiers. I'd tend to believe that due to the stack/ram constraints of 12 bit devices.

  3. #3
    Join Date
    Dec 2007
    Location
    Sweden
    Posts
    73


    Did you find this post helpful? Yes | No

    Default

    Yes, my manual also says 12-bit. edited almost instantaneously! :-)

    I have got the P250a patch installed, can’t seem to find any newer?

  4. #4
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by PICante View Post
    Yes, my manual also says 12-bit. edited almost instantaneously! :-)

    I have got the P250a patch installed, can’t seem to find any newer?
    There's a b patch out now.

    Show the code...

  5. #5
    Join Date
    Dec 2007
    Location
    Sweden
    Posts
    73


    Did you find this post helpful? Yes | No

    Smile

    I will try to find and run the patch to find out if that’s the culprit.

    Thanks ski

  6. #6
    Join Date
    Dec 2007
    Location
    Sweden
    Posts
    73


    Did you find this post helpful? Yes | No

    Cool

    Patch in place..... No, that did not cancel the compile error!
    Here’s the code:

    Code:
    READTEMP:
    
    OWOUT PORTA.5,1,[$CC, $44]                       ' SEND Start Temperature Conversion command
    
     
        OWOUT PORTA.5,1,[$CC, $BE]                   ' SEND Read Temperature command
    
     
        OWIN PORTA.5,0,[STR dq\9]                    ' Retrieve all 9 bytes of data
    
        RawTemp.Byte0 = dq[0]
    
        RawTemp.byte1 = dq[1]
    
        IF RawTemp.8 = 1 then                       ' Check IF temperature is a negative reading
    
     
    
            SignC = Negative
    
            RawTemp.lowbyte = RawTemp.lowbyte ^ 255               ' Invert data
    
            ELSE
    
            SignC = Positive
    
                     ENDIF
    
     
    
        dummy = RawTemp.0                                 ' Store the half degree indicator bit
    
     
    
        TempC = ((RawTemp.lowbyte) >> 1) * 100          ' Divide raw data by 2 to give real temperature
    
     
    
        TempC = TempC + (dummy * 50)                    ' Add the half degree is present
    
     
    
        IF SignC = Negative then                       ' Only proceed IF temperature is negative
    
     
    
            IF TempC => 1770 then   
    
                SignF = Negative
    
                TempF = (TempC + 5000) * 900
    
                TempF = div32 500
    
                TempF = TempF - 12200
    
                RETURN
    
     
    
                ELSE
    
                SignF = Positive
    
                TempF = (TempC + 5000) * 900
    
                TempF = div32 500
    
                TempF = 12200 - TempF
    
                RETURN
    
     
    
            ENDIF    
    
        ENDIF
    
        SignF = Positive
    
        TempF = TempC * 18 / 10 + 3200
    
        RETURN
    Thanks!

  7. #7
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,648


    Did you find this post helpful? Yes | No

    Default

    Hi,

    Is not that much simpler than yout modifyer and the two following lines :

    Code:
    OWIN PORTA.5,0,[STR dq\9]                    ' Retrieve all 9 bytes of data
    
        RawTemp.Byte0 = dq[0]
    
        RawTemp.byte1 = dq[1]


    ( taken from a Malc C example )

    Code:
       OWIN    Porta.5, 2, [R_Temp.Lowbyte, R_Temp.Highbyte]      ' Read two bytes / end comms
    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  8. #8
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    I know that's not ALL of the code...

Similar Threads

  1. Can't read sequential addresses in external EEPROM
    By tjkelly in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 18th February 2010, 14:46
  2. Cleaning up code
    By Tobias in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 2nd December 2009, 07:14
  3. Replies: 13
    Last Post: - 12th May 2009, 17:26
  4. SEROUT WORD variable problem
    By Tobias in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 19th April 2009, 11:20
  5. Q: using MCLR for Input on 12F683
    By picster in forum mel PIC BASIC Pro
    Replies: 46
    Last Post: - 31st January 2009, 15:25

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts