Discovering PIC 16F18446 - TOGGLE "ASM WARNING - Invalid RAM location"


Closed Thread
Results 1 to 11 of 11

Hybrid View

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


    Did you find this post helpful? Yes | No

    Default Re: Discovering PIC 16F18446 - TOGGLE "ASM WARNING - Invalid RAM location"

    First or upper code in your previous message dosen't work
    this works perfectly for me, i doubt you implemented it exactly as posted
    i notice you don't set the pins used to digital mode

    another correct way
    Code:
    ' PIC 16F18426
    #CONFIG
        __config _CONFIG1, _FEXTOSC_OFF & _RSTOSC_HFINT1 & _CLKOUTEN_OFF & _CSWEN_ON & _FCMEN_ON
        __config _CONFIG2, _MCLRE_ON & _PWRTS_PWRT_64 & _LPBOREN_OFF & _BOREN_SBOREN & _BORV_LO & _ZCDDIS_OFF & _PPS1WAY_OFF & _STVREN_ON
        __config _CONFIG3, _WDTCPS_WDTCPS_31 & _WDTE_SWDTEN & _WDTCWS_WDTCWS_7 & _WDTCCS_LFINTOSC
        __config _CONFIG4, _BBSIZE_BB512 & _BBEN_OFF & _SAFEN_OFF & _WRTAPP_OFF & _WRTB_OFF & _WRTC_OFF & _WRTD_OFF & _WRTSAF_OFF & _LVP_OFF
        __config _CONFIG5, _CP_OFF
    #ENDCONFIG
    
    
    ' ====== DEFINES ===================================================================================
        DEFINE OSC 4
        ANSELC = $DF;
        OSCCON1 = $60; // CSWHOLD may proceed; SOSCPWR Low power;
        OSCCON3 = 0;  // MFOEN disabled; LFOEN disabled; ADOEN disabled; SOSCEN disabled; EXTOEN disabled; HFOEN disabled;
        OSCEN = 0 ;    // HFFRQ 4_MHz; 
        OSCFRQ = 2;  // HFTUN 0; 
        OSCTUNE = 0
    
    
    ' ====== TEST PROGRAM ==============================================================================
    TEST:
    
    
        TOGGLE PORTC.5
        pause 500
        
    GOTO TEST
    END
    Last edited by richard; - 24th February 2024 at 22:49. Reason: i cant use b6 on a 16f18426 my closest match
    Warning I'm not a teacher

  2. #2
    Join Date
    Aug 2006
    Location
    SWITZERLAND (french speaking)
    Posts
    938


    Did you find this post helpful? Yes | No

    Default Discovering PIC 16F18446 - TOGGLE "ASM WARNING - Invalid RAM location"

    Richard, this is your exact code (no changes at all) and it lights the LED steady ON:
    Code:
    ' PIC 16F18446
    #CONFIG
        __config _CONFIG1, _FEXTOSC_OFF & _RSTOSC_HFINT1 & _CLKOUTEN_OFF & _CSWEN_ON & _FCMEN_ON
        __config _CONFIG2, _MCLRE_ON & _PWRTS_PWRT_64 & _LPBOREN_OFF & _BOREN_SBOREN & _BORV_LO & _ZCDDIS_OFF & _PPS1WAY_OFF & _STVREN_ON
        __config _CONFIG3, _WDTCPS_WDTCPS_31 & _WDTE_SWDTEN & _WDTCWS_WDTCWS_7 & _WDTCCS_LFINTOSC
        __config _CONFIG4, _BBSIZE_BB512 & _BBEN_OFF & _SAFEN_OFF & _WRTAPP_OFF & _WRTB_OFF & _WRTC_OFF & _WRTD_OFF & _WRTSAF_OFF & _LVP_OFF
        __config _CONFIG5, _CP_OFF
    #ENDCONFIG
    
    
    ' ====== DEFINES ===================================================================================
        DEFINE OSC 4
        ANSELB = $B0;
        OSCCON1 = $60; // CSWHOLD may proceed; SOSCPWR Low power;
        OSCCON3 = 0;  // MFOEN disabled; LFOEN disabled; ADOEN disabled; SOSCEN disabled; EXTOEN disabled; HFOEN disabled;
        OSCEN = 0 ;    // HFFRQ 4_MHz; 
        OSCFRQ = 2;  // HFTUN 0; 
        OSCTUNE = 0
    
    
    ' ====== TEST PROGRAM ==============================================================================
    TEST:
        TOGGLE PORTB.6
        pause 500
    GOTO TEST
    END

    Unfortunately, the third example dosen't work either, this one:
    Code:
    ' PIC 16F18426
    #CONFIG
        __config _CONFIG1, _FEXTOSC_OFF & _RSTOSC_HFINT1 & _CLKOUTEN_OFF & _CSWEN_ON & _FCMEN_ON
        __config _CONFIG2, _MCLRE_ON & _PWRTS_PWRT_64 & _LPBOREN_OFF & _BOREN_SBOREN & _BORV_LO & _ZCDDIS_OFF & _PPS1WAY_OFF & _STVREN_ON
        __config _CONFIG3, _WDTCPS_WDTCPS_31 & _WDTE_SWDTEN & _WDTCWS_WDTCWS_7 & _WDTCCS_LFINTOSC
        __config _CONFIG4, _BBSIZE_BB512 & _BBEN_OFF & _SAFEN_OFF & _WRTAPP_OFF & _WRTB_OFF & _WRTC_OFF & _WRTD_OFF & _WRTSAF_OFF & _LVP_OFF
        __config _CONFIG5, _CP_OFF
    #ENDCONFIG
    
    
    ' ====== DEFINES ===================================================================================
        DEFINE OSC 4
        ANSELC = $DF;
        OSCCON1 = $60; // CSWHOLD may proceed; SOSCPWR Low power;
        OSCCON3 = 0;  // MFOEN disabled; LFOEN disabled; ADOEN disabled; SOSCEN disabled; EXTOEN disabled; HFOEN disabled;
        OSCEN = 0 ;    // HFFRQ 4_MHz; 
        OSCFRQ = 2;  // HFTUN 0; 
        OSCTUNE = 0
    
    
    ' ====== TEST PROGRAM ==============================================================================
    TEST:
    
    
        TOGGLE PORTC.5
        pause 500
        
    GOTO TEST
    END

    Maybe this last code doesnt work because you seem to use a 16F8246 not a 16F18446 like I have.

    Honestly, I can have a real good life with LATBs commands instead of TOGGLEs
    Roger

  3. #3
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,133


    Did you find this post helpful? Yes | No

    Default Re: Discovering PIC 16F18446 - TOGGLE "ASM WARNING - Invalid RAM location"

    TOGGLE will not work.

    Richard did explain why at post #5.

    So, you have to use either directly PORT or LAT commands. Personally, never liked the TOGGLE command and always preferred to use discrete commands. Bonus that you know the final state of the register. With TOGGLE you only know that it has changed. Not how.

    Ioannis
    Last edited by Ioannis; - 25th February 2024 at 20:38.

Similar Threads

  1. How to do the "SerIN" and "SerOut " for the usb ?
    By vicce67 in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 13th March 2015, 02:01
  2. Replies: 0
    Last Post: - 14th November 2013, 03:32
  3. Replies: 3
    Last Post: - 15th October 2012, 08:06
  4. PBP 2.6/MPLab 8.33 ASM "COD" error message
    By reddog24 in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 3rd December 2009, 20:09
  5. Adding data to an "array" in ASM
    By The Master in forum Off Topic
    Replies: 11
    Last Post: - 22nd November 2009, 03:21

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