SEROUT2 broken on 18F4620 ?


Results 1 to 15 of 15

Threaded View

  1. #7
    Join Date
    Nov 2008
    Posts
    96


    Did you find this post helpful? Yes | No

    Default The plot thickens....

    OK, I've spent about three hours on this now, and I have made some progress, and no, all the suggestions above didn't turn out to be the cause, I tried all the Tris changes suggested, then rem'd them all out as well.
    However I have not pin-pointed the exact problem yet... (and my caffine level has dropped to 'critical', so I must take a break)

    I stripped my code down to nothing but my configs, a LED flash and a couple of Serout2 text strings, and put the Serout2 back on PortA. Still it failed to Serout...

    Then I stripped out my configs, and unremarked the defaults in PBP's 18F4620 inc file (made changes to OSC and MCLRE to suit me). And.... Serout2 came back to life.

    I then put my configs back, and rem'd out the INC files entries. Serout2 dies (LED still flashes correctly).
    So unless I'm being tricked somehow, by me being very pedantic with my list of configs I've broken something very subtle somehow.

    Here is my configs, and the PBP defaults. If anyone knows which of my configs could hurt PBP compiler please let me know.... To try each config in turn randomly will take ages.

    Code:
    'My Config Directive settings for MPASM (fuses) for 18F4620 (that don't work with Serout2)
     
    @    __CONFIG  _CONFIG1H, _IESO_OFF_1H & _FCMEN_OFF_1H & _OSC_INTIO7_1H
    @    __CONFIG  _CONFIG2L, _PWRT_ON_2L & _BOREN_OFF_2L 
    @    __CONFIG  _CONFIG2H, _WDT_OFF_2H & _WDTPS_32_2H
    @    __CONFIG  _CONFIG3H, _MCLRE_OFF_3H & _PBADEN_OFF_3H
    @    __CONFIG  _CONFIG4L, _DEBUG_OFF_4L & _LVP_OFF_4L & _STVREN_OFF_4L
    @    __CONFIG  _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L
    @    __CONFIG  _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H
    @    __CONFIG  _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
    @    __CONFIG  _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H
    @    __CONFIG  _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
    @    __CONFIG  _CONFIG7H, _EBTRB_OFF_7H

    PBP's configs, that do work.
    Code:
     INCLUDE "P18F4620.INC"	; MPASM  Header
            __CONFIG    _CONFIG1H, _OSC_INTIO7_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
            __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
            __CONFIG    _CONFIG3H, _CCP2MX_PORTC_3H & _PBADEN_OFF_3H & _LPT1OSC_OFF_3H 
    
    & _MCLRE_OFF_3H
            __CONFIG    _CONFIG4L,  _STVREN_ON_4L & _LVP_OFF_4L & XINST_OFF_4L
    My code stripped down
    Code:
    ' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    'Config Directive settings for MPASM (fuses) for 18F4620
     
    @    __CONFIG  _CONFIG1H, _IESO_OFF_1H & _FCMEN_OFF_1H & _OSC_INTIO7_1H
    @    __CONFIG  _CONFIG2L, _PWRT_ON_2L & _BOREN_OFF_2L 
    @    __CONFIG  _CONFIG2H, _WDT_OFF_2H & _WDTPS_32_2H
    @    __CONFIG  _CONFIG3H, _MCLRE_OFF_3H & _PBADEN_OFF_3H
    @    __CONFIG  _CONFIG4L, _DEBUG_OFF_4L & _LVP_OFF_4L & _STVREN_OFF_4L
    @    __CONFIG  _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L
    @    __CONFIG  _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H
    @    __CONFIG  _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
    @    __CONFIG  _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H
    @    __CONFIG  _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
    @    __CONFIG  _CONFIG7H, _EBTRB_OFF_7H   
     
    '    DEFINE OSC 8 '8Mhz clock used.
       
        SO          Var     PortA.2        'Serial out pin
        LED         var     PortA.1        'Indicator LED, via 500ohm to +3.3V
    
        
    ' Initialise Processor - check for each PIC type 
    ' -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    '    ADCON1 = %00001111              'Turn off all AD's     
        OSCCON =  %01100111     'set INTRC to 4 MHZ    
    '    OSCCON = %01110111     'set INTRC to 8 MHZ
    '    OSCTUNE = 0                      'OSC trim set to Null 
    ' Set initial state of port pins as Input or Output
    
    '    TRISA = %11111100    'Input(0 = output, 1 = Input)
    '    TRISB = %11111100    '
    '    TRISC = %11111111
    '    TRISD = %11111110
    '    TRISE = %11111111
        
    ' PIC initialization code
    '        Low So      'Must start low, or you get rubbish on the LCD at PIC boot up.
    '        Gosub Alive
            Low LED     'LED on
            pause 500  'led on for x seconds
            High LED    'LED off
            Pause 500
            Low LED     'LED on
            pause 500  'led on for x seconds
            High LED    'LED off 
                    
            Serout2 SO,16780,[$FE,$01]               ' Clear LCD & home LCD cursor.
            pause 10                                ' wait for LCD to catch up
            Serout2 SO,16780,["   FrSky Vario    "]  ' Serial print 
            Serout2 SO,16780,[$FE,$C0]               ' Shift cursor to line2
            Serout2 SO,16780,[" Development Jig  "]  ' Serial print 
            Pause 5000                               'wait three seconds        
            
    End
    Last edited by mr.sneezy; - 30th May 2010 at 06:59.

Members who have read this thread : 1

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