How does everyone debug their code?


Closed Thread
Results 1 to 31 of 31

Hybrid View

  1. #1
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    OK, try another variant. Use your second schematic, and use the code provided by Bruce few post above.

    DEBUG is a software alternative to HSEROUT. DEBUG (like SEROUT & SEROUT2), allow you to use almost any I/O of your PIC. This avoid to use switches if your current design don't use those PGD/PGC pins (RA0 and RA1)... also called ICSPDATA and ICSPCLK on your schematic.

    Don't give up!
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  2. #2
    Join Date
    Mar 2009
    Posts
    653


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mister_e View Post
    OK, try another variant. Use your second schematic, and use the code provided by Bruce few post above.

    DEBUG is a software alternative to HSEROUT. DEBUG (like SEROUT & SEROUT2), allow you to use almost any I/O of your PIC. This avoid to use switches if your current design don't use those PGD/PGC pins (RA0 and RA1)... also called ICSPDATA and ICSPCLK on your schematic.

    Don't give up!
    Thanks for the encourgaement!

    Well, I revisited what Bruce posted up ....& what do you know - it worked!

    I then decided to incorporate Bruce's code into my own program - mucho grief ensued. However, if I'd taken a bit more care & actually slowly read your bit that I've bolded above, I'd not have lost two hours of my life! (I too cut the variable resistor wiper on the PICKIT2 board...but, alas, I soldered it onto pin RA1). Why isn't is a good idea to use RA1 for AtoD?


    Anyway, once I saw what you said, I resoldered the VR wiper onto RA2....everything turned out sweet (& no hardware switches either - that said, I reckon it wasn't totally wasted time, as I want to get some 'serial in' going down on a couple of my programettes soon)


    Many thanks to all!


    Hanks

  3. #3
    Join Date
    Mar 2009
    Posts
    653


    Did you find this post helpful? Yes | No

    Default

    Just a little footnote...the debug command creates delay, which is significant in my PIC program.

    Basically, I have a coil winder program (the PIC counts pulses from magnets mounted on a spinning motor & then the PIC pulses out to a stepper which turns a helix (this feeds copper onto the main turning motor - a bit like this from 20secs in )

    Anyway, without any debug in my code...I get a nice neat wind of copper. But as soon as I use debug...the helix feeding copper wire onto the main turning motor, doesn't keep up ...end result is a lumpy wound coil - as soon as I take out the debug command...it runs fine again.

    This is a real downer, because I was using my new found 'Debug' method to put out important info onscreen (No of turns, number of steps until traversal changes direction etc).

    What are my options here?

    (I'm trying to avoid having to build a logic circuit to keep track of the PIC output pulses using hardware counters!)

  4. #4
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Few different ways, first one being to use an higher baudrate and reduce the Pause delay.

    Hard to tell more, without having the whole code here.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  5. #5
    JorgeP's Avatar
    JorgeP Guest


    Did you find this post helpful? Yes | No

    Question Error message

    Hi everyone,

    I'm using the pic basic pro demo to learn how to program microcontrolers for a class. I using a Microchip book that tells me how to program the pic16f628A. This is the program the book suggests for a Monostable Oscilator:

    HIGH PortB.0
    Pause 5000
    low PortB.0

    end

    After I compile the program I get this error message:
    fatal c:\pbpdemo\inc\m16f62xa.inc 7: [307] Illegal DEVICE type

    I already tried to use other pics but I get the same error related to their own .inc file. Can anyone please tell me what is wrong or what the error means?

    Thanks,
    Jorge

  6. #6
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Are you using MPLAB or MicroCodeStudio ?
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  7. #7
    Join Date
    Mar 2009
    Posts
    653


    Did you find this post helpful? Yes | No

    Default

    Just some footnotes on this (as one newbie to others who may find this thread via google etc).

    If you have a PICKIT2 programmer... you can use it to connect your PIC to your PC (no need to buy MAX232 interfacing chips etc). The Uart tool, is in your pickit2 programmer menu under tools.

    To get text/info out of your PIC & onto your PC using the UArt tool, well, as far as I can gather you have two options...

    1, The DEBUG command - from my understanding this uses software to get the data out your PIC & onto your PC screen via the Pickit2 Uart tool ...the benefit being it's simple to set up, but don't go this route if you venture into 'interupt' territory else you'll end up with all manner of garble onscreen. Take a look at Bruce's answer to my post further up for sample code that works well.

    2. The HSerout command - this uses hardware in my opinion a much better route. Programming wise, it's not really anymore difficult to set up & you shouldn't have problems with interrupts messing with your text. Alas, the downside of using this method with your Pickit2 is that you'll need to wire a switch into your circuit (take a look at the diagram I posted further up to see what I mean)

    If you happen to have a 16f690, then the code below will get you started (I haven't commented each line because, truthfully I haven't got much idea what they all do - but I do know that this code works in setting up HSEROUT with a 16F690!)...

    @MyConfig = _XT_OSC & _WDT_ON & _MCLRE_ON & _CP_OFF
    @MyConfig = MyConfig & _MCLRE_ON & _BOR_OFF
    @ __config MyConfig

    Include "modedefs.bas"

    DEFINE OSC 4
    ' the following three lines set the serial port up as 9600 working with the 4Mhz oscillator freq above
    DEFINE HSER_SPBRG 25
    DEFINE HSER_TXSTA 24h
    DEFINE HSER_CLROERR 1
    ANSELH=0
    ANSEL=0
    CM1CON0 =0
    CM2CON0 =0
    CM2CON1 =0
    adcon1=0
    TRISB.6 = 1
    TRISB.7 = 0
    TRISC=%00000000 ; set all Port C pins as outputs
    rcsta.7=1 'SPEN serial port enable bit
    low Portc.1
    low Portc.2
    low Portc.3

    txsta.7=1 'CSRC : Clock Source Select bit 1 = internal clock
    txsta.6=0 'TX9 : 9-bit Transmit Enable bit 0 = 8 bit.
    txsta.5=1 'TXEN : Transmit Enable bit
    txsta.4=0 'SYNC : USART Mode Select bit 0=asynch
    txsta.3=0 ' N/A
    txsta.2=1 'BRGH : High Baud Rate Select bit
    txsta.1=0 'TRMT : Transmit Shift Register Status bit ( Read only )
    txsta.0=0 'TX9D : 9th bit of transmit data. Can be parity bit.

    loop:
    hserout ["Hello ", 13, 10]
    pause 400
    goto loop
    end


    (the ISCP connector header that the PIC mates with, needs a switch to 'break' Header pin 4 of from PIC pin 19 to pin 10 & Header pin 5 from PIC pin 18 to 12 - flick the switch to go from 'programming mode' to HSEROUT mode)
    Last edited by HankMcSpank; - 20th May 2009 at 16:03.

Similar Threads

  1. N-Bit_MATH
    By Darrel Taylor in forum Code Examples
    Replies: 38
    Last Post: - 16th December 2010, 14:48
  2. debug not working with MPASM assempler
    By santamaria in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 4th March 2009, 07:51
  3. How much code space do PBP statements use.
    By Darrel Taylor in forum Code Examples
    Replies: 5
    Last Post: - 13th February 2009, 21:31
  4. Loop with two motor and 2 sensors
    By MrRoboto in forum mel PIC BASIC
    Replies: 4
    Last Post: - 8th December 2008, 23:40
  5. Making Program Code Space your playground...
    By Melanie in forum Code Examples
    Replies: 15
    Last Post: - 19th July 2008, 08:26

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