pic Basic Pro 2.50a & debug statement


Closed Thread
Results 1 to 13 of 13
  1. #1
    Join Date
    Jun 2007
    Location
    Sydney, Australia
    Posts
    13

    Default pic Basic Pro 2.50a & debug statement

    Code below for 16F737 compiles & runs just fine under PBP 2.46. Compile under 2.50a and everything runs OK *EXCEPT* DEBUG (nothing changes on debug pin).

    Running MicroCode Studio v3.0.0.5 & WinPIC v??? (compiled Jun 3 2007). Using MPLAB 7.60.00.00 and MPASM (not PM).


    Am I going nuts or is something broken?

    ' Code:
    ' System Constants
    OSCCON = $F0 ' Tell the PIC
    ADCON1 = 7
    CMCON = 7

    ' Defines
    DEFINE OSC 8 ' Tell PicBASIC
    define DEBUG_REG PORTA
    define DEBUG_Bit 1
    DEFINE DEBUG_BAUD 9600
    DEFINE DEBUG_MODE 1
    define PULSIN_MAX 1000

    // snip //

    ' Code start
    init:
    pause 100 ' let things settle
    debug "Start",10,13

    Any ideas greatly appreciated.
    Phil.

  2. #2
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Phil Moore View Post
    Code below for 16F737 compiles & runs just fine under PBP 2.46. Compile under 2.50a and everything runs OK *EXCEPT* DEBUG (nothing changes on debug pin).
    Config fuses set the same between the 2 PBP versions?
    Did you change something in the .inc file way back when and forget about it?

    MPLAB 7.60. There is a newer version...not that it'll help anything...you never know...

  3. #3
    Join Date
    Jun 2007
    Location
    Sydney, Australia
    Posts
    13


    Did you find this post helpful? Yes | No

    Default

    Hi Skimask,

    I did change over from PM to MPASM as I was doing other stuff with 18F chips, however, the only config change I made to the 16F737.INC file was to set clock to INTRC with IO. This is the same config I had with PM:

    ' Device fuses & registers (Assumes PM assembler)
    @ DEVICE INTRC_OSC,MCLR_ON,WDT_OFF


    Fuses:
    Osc - INTRC as IO
    WDT - Off
    PUT - Off
    RE3/MCLR = MCLR
    BODEN - Enabled
    BODENV - 2.0V
    Backbug - disabled
    CCP2MUX - RC1
    CP - Off
    BORSEN - enabled
    IESO - enabled
    FCMEN - enabled

    Device (DVD simulator - don't ask why) is powered off USB port of PC, with extra cap for filtering - don't think it's a voltage thing.

    Cheers
    Phil.

  4. #4
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    I don't see anything turning off the ANALOG function of PortA.1 and switching it over to digital...

    Actually, yes I do see something turning off SOME analog ports, but not enough...
    Last edited by skimask; - 9th March 2008 at 08:01. Reason: Whoops!

  5. #5
    Join Date
    Jun 2007
    Location
    Sydney, Australia
    Posts
    13


    Did you find this post helpful? Yes | No

    Default

    Hi Skimask,

    Changed ADCON1 to $f, but no joy (if that's what you meant).

    Phil.

  6. #6
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Phil Moore View Post
    Hi Skimask,

    Changed ADCON1 to $f, but no joy (if that's what you meant).

    Phil.
    Yep, you got it.
    Try a different pin without any analog functions on it, just a plain ol' pin.
    Try one of the SEROUT commands and see what happens.
    Try a bunch of things...try anything.

  7. #7
    Join Date
    Jun 2007
    Location
    Sydney, Australia
    Posts
    13


    Did you find this post helpful? Yes | No

    Default

    Skimask,
    Also changed ADCON0 to 0 (just in case),
    Serout2 works OK (same pin) but that's not the point!
    Sanity rapidly departing, need to go away and have a think.
    Thanks for your help - another brain always sees something different!
    Cheers,
    Phil.

  8. #8
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Phil Moore View Post
    Skimask,
    Also changed ADCON0 to 0 (just in case),
    Serout2 works OK (same pin) but that's not the point!
    Sanity rapidly departing, need to go away and have a think.
    Thanks for your help - another brain always sees something different!
    Cheers,
    Phil.
    If SEROUT2 works, and DEBUG doesn't work, it's gotta be the way you config'd DEBUG
    Check your upper/lower case...ALL CAPS on the DEFINE's
    Check your modes...
    Post your codes...
    (hey that rhymes!!!)

    NOTE: Changing ADCON0 isn't going to do anything to the pin. It's only going to shut off the A/D module.
    Last edited by skimask; - 9th March 2008 at 09:33.

  9. #9
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Phil Moore View Post
    Skimask,
    Also changed ADCON0 to 0 (just in case),
    Serout2 works OK (same pin) but that's not the point!
    Sanity rapidly departing, need to go away and have a think.
    Thanks for your help - another brain always sees something different!
    Cheers,
    Phil.
    I think I see your problem back in the 1st post:

    Code:
    DEFINE OSC 8 ' Tell PicBASIC
    define DEBUG_REG PORTA
    define DEBUG_Bit 1
    DEFINE DEBUG_BAUD 9600
    DEFINE DEBUG_MODE 1
    If this is the code you're using...what's wrong with this picture?
    The problem is very subtle. I missed it a dozen times. Check page 31 of the manual.
    Last edited by skimask; - 9th March 2008 at 09:37.

  10. #10
    Join Date
    Jun 2007
    Location
    Sydney, Australia
    Posts
    13


    Did you find this post helpful? Yes | No

    Default

    Yeah, saw that too, changed define to DEFINE both times (double checked with Notepad).
    No joy.
    I'm just going to stick with Serout2 for now - it's less painful! I'll sort out DEBUG later.
    Thanks for all your posts!
    Phil.

  11. #11
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Phil Moore View Post
    Yeah, saw that too, changed define to DEFINE both times (double checked with Notepad).
    No joy.
    I'm just going to stick with Serout2 for now - it's less painful! I'll sort out DEBUG later.
    Thanks for all your posts!
    Phil.
    Keep trying...you're almost on top of it...
    Show your code as it stands. You're....like....stepping in it....
    Read the 3rd paragraph in that section again...and then again...and then re-read it again...
    Then take a look at Page 56...and look at it closely...
    Last edited by skimask; - 9th March 2008 at 09:56.

  12. #12
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    Change DEFINE DEBUG_Bit 1 to DEFINE DEBUG_BIT 1 and it should work.

    Having the last 2 characters in lower case was making pin RA0 an output VS RA1.

    At least is was in MPSIM. I don't have a 737 to test, but this works fine in MPSIM once
    I change Bit to BIT.
    Code:
      @ __config _CONFIG1, _INTRC_IO & _MCLR_OFF & _DEBUG_OFF & _WDT_OFF & _CP_OFF
    
    
    ' Defines
    DEFINE OSC 8
    DEFINE DEBUG_REG PORTA
    DEFINE DEBUG_BIT 1    ' note it's all UPPER CASE
    DEFINE DEBUG_BAUD 9600
    DEFINE DEBUG_MODE 1   ' 1 = inverted
    
        ' System Constants
        OSCCON = $F0  ' set 8MHz internal
        ADCON1 = $0F  ' all digital
        CMCON = 7     ' comparators disabled
    
    ' Code start
    Init:
        PAUSE 100 ' let things settle
        DEBUG "Start",10,13
        GOTO Init
        
        END
    There's a section in the library that sets up default values, and if something isn't
    DEFINED, the value will be whatever the default is. In this case it's 0.

    ifndef DEBUG_BIT ; Debug pin bit
    DEBUG_BIT EQU 0

    If wasn't seeing DEBUG_Bit as DEBUG_BIT so the default was RA0.
    Last edited by Bruce; - 9th March 2008 at 16:03.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  13. #13
    Join Date
    Jun 2007
    Location
    Sydney, Australia
    Posts
    13


    Did you find this post helpful? Yes | No

    Default

    Aaaaarrrrggggghhhhhh!

    That was it - thanks Bruce & Skimask - make sure WHOLE DEFINE is in UPPERCASE.

    Mutter, mutter, mutter! Too many IDEs, too many languages, not enough grey cells!

    Again, thanks!

    Phil.

Similar Threads

  1. About timing in pic basic pro
    By din_kt in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 4th October 2007, 03:09
  2. MElabs PIC BASIC Pro
    By Minestorm in forum Adverts
    Replies: 13
    Last Post: - 17th March 2007, 09:55
  3. USB Pics, ICD2, pic basic pro
    By vacpress in forum USB
    Replies: 34
    Last Post: - 20th January 2007, 20:50
  4. using AND as an IF statement
    By dw_pic in forum mel PIC BASIC
    Replies: 27
    Last Post: - 8th June 2006, 18:05
  5. How to use 93C46 Type EEPROM using PIC Basic PRo
    By in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 1st April 2003, 04:07

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