cannot find the reason for such a strange behavior


Results 1 to 18 of 18

Threaded View

  1. #5
    Join Date
    May 2013
    Location
    australia
    Posts
    2,644


    Did you find this post helpful? Yes | No

    Default Re: cannot find the reason for such a strange behavior

    I did it this once for you , problem is definitely elsewhere

    and

    DMY = W0//256
    Pulse[75] = (255 - DMY)
    can be simplified to

    Pulse[75] =~w0



    Code:
    #CONFIG
                 __config        _CONFIG1,    _FOSC_INTOSC & _CP_OFF & _WDTE_ON  &  _PWRTE_ON  &  _MCLRE_ON  & _CLKOUTEN_OFF
                  __config      _CONFIG2, _PLLEN_ON & _LVP_OFF
    #ENDCONFIG
    
      
    
    
    
    DEFINE OSC 32
    
        OSCCON=$70
       ANSELA=0
       ANSELC=0
      
       
       
       TRISA = %111110
       TRISC = %11111111        ' set PORTC I/O
     
    
    
     j var byte
     k var word
     l var byte
     pulse var byte[76]
     decode var byte[4]
     w0 var word
     dmy var byte
     
     
     
      
        DEFINE DEBUG_REG PORTA
        DEFINE DEBUG_BIT 0      ;  if not used for pwr  
        DEFINE DEBUG_BAUD 9600
        DEFINE DEBUG_MODE 0     
        pause 2000
        Debug "Start",13 ,10      
     
     
     
     
     
     
     
     
     
     
      main:
     
    
    
        gosub XBee_Value
        
        
        Pulse[0] = "1"
        Pulse[1] = "5"
        Pulse[2] = "0"
        Pulse[3] = " "
        Pulse[4] = "A"
        Pulse[5] = "0"
        Pulse[6] = "="
        Pulse[7] = Decode[3]
        Pulse[8] = Decode[2]
        Pulse[9] = Decode[1]
        Pulse[10] = Decode[0]
        
        
    '    CIndex = 1
        gosub XBee_Value
        
        
        Pulse[11] = " "
        Pulse[12] = "A"
        Pulse[13] = "1"
        Pulse[14] = "="
        Pulse[15] = Decode[3]
        Pulse[16] = Decode[2]
        Pulse[17] = Decode[1]
        Pulse[18] = Decode[0]
        
        
        
        
    '    CIndex = 2
        gosub XBee_Value
        
        
        Pulse[19] = " "
        Pulse[20] = "A"
        Pulse[21] = "2"
        Pulse[22] = "="
        Pulse[23] = Decode[3]
        Pulse[24] = Decode[2]
        Pulse[25] = Decode[1]
        Pulse[26] = Decode[0]
        
        
        '------------------
    '    CIndex = 3
        gosub XBee_Value
        
        
        Pulse[27] = " "
        Pulse[28] = "A"
        Pulse[29] = "3"
        Pulse[30] = "="
        Pulse[31] = Decode[3]
        Pulse[32] = Decode[2]
        Pulse[33] = Decode[1]
        Pulse[34] = Decode[0]
        
        
    '    CIndex = 4
        gosub XBee_Value
        
        
        Pulse[35] = " "
        Pulse[36] = "A"
        Pulse[37] = "4"
        Pulse[38] = "="
        Pulse[39] = Decode[3]
        Pulse[40] = Decode[2]
        Pulse[41] = Decode[1]
        Pulse[42] = Decode[0]
        
        
        
        
    '    CIndex = 5
        gosub XBee_Value
        
        
        Pulse[43] = " "
        Pulse[44] = "A"
        Pulse[45] = "5"
        Pulse[46] = "="
        Pulse[47] = Decode[3]
        Pulse[48] = Decode[2]
        Pulse[49] = Decode[1]
        Pulse[50] = Decode[0]
        '------------------
    '    CIndex = 6
        gosub XBee_Value
        
        
        Pulse[51] = " "
        Pulse[52] = "A"
        Pulse[53] = "6"
        Pulse[54] = "="
        Pulse[55] = Decode[3]
        Pulse[56] = Decode[2]
        Pulse[57] = Decode[1]
        Pulse[58] = Decode[0]
        
        
    '    CIndex = 7
        gosub XBee_Value
        
        
        Pulse[59] = " "
        Pulse[60] = "A"
        Pulse[61] = "7"
        Pulse[62] = "="
        Pulse[63] = Decode[3]
        Pulse[64] = Decode[2]
        Pulse[65] = Decode[1]
        Pulse[66] = Decode[0]
        
        
        
        
    '    CIndex = 8
        gosub XBee_Value
        
        
        Pulse[67] = " "
        Pulse[68] = "A"
        Pulse[69] = "8"
        Pulse[70] = "="
        Pulse[71] = Decode[3]
        Pulse[72] = Decode[2]
        Pulse[73] = Decode[1]
        Pulse[74] = Decode[0]
        
        
        '------------------ Start CRC Function
        W0 = 0
        For DMY = 0 To 74
        W0 = W0 + Pulse[DMY]
        next DMY
        DMY = W0//256      ;  why  ?
        Pulse[75] = (255 - DMY) ;  why   ?
        ;  this line could replace the above two lines  ie   Pulse[75]=~w0
        l=~w0  ;debug    proof of above
        j=w0   ;debug
        
        ' -------------------- End CRC function
        
        Debug 13 ,10 ,#w0,9,#dmy,9,#j ,9,#Pulse[75],9 ,#l
        pause 1000 
     goto main  
        
    
     XBee_Value:
     for j=0 to 3
       random k
      Decode[j]=k
     next
     return
    Last edited by richard; - 31st October 2016 at 23:56. Reason: grammer
    Warning I'm not a teacher

Similar Threads

  1. Strange behavior on PORTB on a PIC18F26K20
    By Dosbomber in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 28th September 2016, 23:31
  2. Strange Behavior 12F1822
    By nobner in forum mel PIC BASIC Pro
    Replies: 10
    Last Post: - 3rd February 2012, 08:11
  3. Strange LCD Behavior
    By chips123 in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 1st November 2009, 00:48
  4. Strange behavior - PORTG.2, 18F8720
    By Charles Linquis in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 11th January 2009, 23:30
  5. Strange electrical behavior with PIC16F684
    By xnihilo in forum mel PIC BASIC Pro
    Replies: 10
    Last Post: - 28th March 2008, 06:58

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