DEFINE OSC too limited


Closed Thread
Results 1 to 19 of 19
  1. #1
    mytekcontrols's Avatar
    mytekcontrols Guest

    Default DEFINE OSC too limited

    Code:
    DEFINE OSC 4
    This Define statement is suppose to synchronize most of PBP's time dependent functions (i.e.; pause and pauseus) to the oscillator feeding your PIC chip. Without the Define statement these functions assume you are running at 4 mhz. The problem is, that the choice of alternative oscillator speeds is limited to only 12 different speeds, which are: 3(3.58),4,8,10,12,16,20,24,25,32,33,40 mhz.

    Now I don't know about you, but for me this is too limiting. Example: it wouldn't be uncommon for someone to want to run their PIC at 14.318 mhz (NTSC) or for that matter 17.734 (PAL) since these are 4fsc standards used in video applications. It would be nice to have the Pause function still work properly at this speed, but it wont, since their is no Define for either of these frequencies.

    Not knowing what is going on underneath the cover of PBP, it would seem a relatively simple matter to allow for a much more flexible definition of oscillator speed that would accomodate a given users situation. Can the creators of PBP provide such a option?

  2. #2
    Join Date
    Jul 2003
    Posts
    2,358


    Did you find this post helpful? Yes | No

    Default

    Of course the PAUSE works properly... you just need to make an adjustment with a little bit of math. So if you want to time 1 second with a DEFINE OSC of 16MHz and your 17.734MHz xtal, all you need is...

    16/17.734*1000

    Pause 902

    Think outside the box. The limits of PBP are your imagination.

  3. #3
    mytekcontrols's Avatar
    mytekcontrols Guest


    Did you find this post helpful? Yes | No

    Smile Too cryptic for me, but perhaps not for others

    Hi Melanie,
    Yes I understand that you can take the approach you just gave, but I tend to like things to mean what they say. If I have a statement that says "Pauseus 100" then I would like it to actually mean that I am taking a 100 microsecond pause. In this case we really aren't talking about "thinking outside of the box", but instead, about writing understandable code. Besides we aren't just talking about Pause routines here. There are 24 PBP functions that are all affected by incorrect oscillator selection.
    Code:
    COUNT, DEBUG, DEBUGIN,DTMFOUT,FREQOUT,HPWM,HSERIN,HSEROUT,
    I2CREAD,I2CWRITE,LCDOUT,OWIN,OWOUT,PAUSE,PAUSEUS,
    SERIN,SERIN2,SEROUT,SEROUT2,SHIFTIN,SHIFTOUT,
    SOUND,XIN, and XOUT
    I would hate to come back later, and try to debug even my own code, not say someone elses, if I used the method you suggested. Especially if a variety of the functions mentioned above were sprinkled throughout.

    Don't get me wrong, I like PBP, and really appreciate the effort that had to be put into making it what it is today. However this is a "Wish List" and my wish is to see a better way to do the Oscillator Define, so that all functions utilizing timing in their makeup continue to do what they say, and to mean what they mean. Is this asking too much? Or am I developing a case of OCD?

  4. #4
    Join Date
    Jul 2005
    Posts
    65


    Did you find this post helpful? Yes | No

    Smile

    Hello mytekcontrols

    In deed, you are absolutely right.

  5. #5
    breogan's Avatar
    breogan Guest


    Did you find this post helpful? Yes | No

    Default Problems with OSC.

    Hi,
    I'm trying to use 20MHz oscillator with PIC16C74A, for example, I have written this program to make blink a led for 1 second, but it doesn't work, the frequency is not 1Hz (it is more slow):

    '********** Definitions **********
    DEFINE OSC 20

    '********** Main prog **********
    Main:
    high PORTA.0
    pause 500
    low PORTA.0
    pause 500
    goto Main

    End

    '***************************************

    I'm using the David Tait programmer (home made) with the PIC74.EXE program (PIC16C74 Programmer Version 1.0b Copyright (C) 1996 Paul Vollebregt.) With the options "-hp8" (HS osc), also I have triyed with "-xp8" (XT osc).

    Thanks !
    Last edited by breogan; - 21st November 2005 at 12:06.

  6. #6
    Join Date
    Jul 2003
    Posts
    2,358


    Did you find this post helpful? Yes | No

    Default

    Of course it'll be slower...

    Lets assume that Pause 500 is a perfect 500mS (which is unlikely but probably close). Your HIGH and your LOW and your GOTO all take up time too which has to be taken into account. Finally, how accurate is your Oscillator? 20.00000MHz or is it a few percent high or low?

    You want exactly 1Hz... go grab an oscillocope and trim it... now you have control in 1uS steps... but you add any other code or you nudge your room thermostat a little, and bang goes your timing!

    Main:
    high PORTA.0
    pause 499
    pauseus 1000
    low PORTA.0
    pause 499
    pauseus 1000
    goto Main

  7. #7
    Join Date
    Sep 2003
    Location
    Vermont
    Posts
    373


    Did you find this post helpful? Yes | No

    Question

    Is there some way to nudge the "DEFINE" value that PBP uses when compiling?

  8. #8
    Join Date
    Jun 2011
    Location
    Indian Harbour Nova Scotia
    Posts
    108


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    Good answer Melanie, I agree 100% with what you say. Purists tend to focus too much on one parameter, not realizing that in the big picture, there are lots of things that affect your reading, like temperature! In engineering we typically ignore the bottom 10% and the top 90% and concentrate efforts in between, meaning we don't sweat the small stuff unless it is ABSOLUTELY necessary. A LED that doesn't blink at exactly 1.0000Hz? Who cares, unless your using to to time Longines watches.

  9. #9
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,611


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    Quote Originally Posted by queenidog View Post
    Good answer Melanie, I agree 100% with what you say. Purists tend to focus too much on one parameter, not realizing that in the big picture, there are lots of things that affect your reading, like temperature! In engineering we typically ignore the bottom 10% and the top 90% and concentrate efforts in between, meaning we don't sweat the small stuff unless it is ABSOLUTELY necessary. A LED that doesn't blink at exactly 1.0000Hz? Who cares, unless your using to to time Longines watches.
    ... I do not know if Mel will even see your post ...

    did you notice it is a 10 years after dig out ( tadaaa, music ON ) ... add to that Mel has left this forum many years ago ... ( 2 or more ...)

    Last Activity:- 22nd February 2012 01:20
    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  10. #10
    Join Date
    Jun 2011
    Location
    Indian Harbour Nova Scotia
    Posts
    108


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    Yes I saw the date, but felt compelled to answer anyway, unaware of her status on this forum.

    I had a friend who was doing some non-critical A/D conversions but was unsatisfied with the 10 bit (1:1024) resolution of his PIC and was going to employ an external A/D for the extra bits. I reminded him of the resolution and accuracy of his own DVM which was really no better. That and the fact that 10 bits over 5 volts is a resolution of about 5 mV.

    Sometimes the forest can't be seen for the trees.

  11. #11
    Join Date
    Jan 2011
    Location
    Sydney, Australia
    Posts
    166


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    Does anyone know why Melanie left the forum?
    She was a prolific poster and helped many along the way and then suddenly, nothing more.
    I have always been curious about her departure.

    I wonder if she is aware of the sad news about Darrel Taylor?

    Cheers
    Barry
    VK2XBP

  12. #12
    Join Date
    Oct 2009
    Location
    Utah, USA
    Posts
    427


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    Yeah I was thinking about that myself... we kind of almost get to know each other in an anonymous sort of way.

    I would be nice to hear how/what she is doing now days.
    I'm sure there are others who have left after making a real positive impact on the learning experience of microcontroller programming.

    Really a great bunch here... I wish the Basic Language would experience a sort of comeback or revival!!
    Dwight
    These PIC's are like intricate puzzles just waiting for one to discover their secrets and MASTER their capabilities.

  13. #13
    Join Date
    Aug 2003
    Posts
    985


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    I was going to point that out, but then thought why bother.. lol.
    I have wondered the same and just assume people move on, same as I thought with Darrel for some time actually.

    It is true that the imagination can move around some limiting facts. That is a positive and true message!

  14. #14
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,611


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    Quote Originally Posted by Aussie Barry View Post
    Does anyone know why Melanie left the forum?
    She was a prolific poster and helped many along the way and then suddenly, nothing more.
    I have always been curious about her departure.

    I wonder if she is aware of the sad news about Darrel Taylor?

    Cheers
    Barry
    VK2XBP
    Hi, Barry

    Mel left the forum for professionnal reasons, as she was to travel a lot with her new function.
    as she wrote me she was to spend much much time flying around the world.

    Moreover she has a new Hobby : flying light aircrafts ...

    I did not have any news from her for at least two years ...

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  15. #15
    Join Date
    Jan 2011
    Location
    Sydney, Australia
    Posts
    166


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    Hi Alain,

    Thank you for the quick reply.
    If you still have her contact details, perhaps you could let her know about Darrel.

    Cheers
    Barry
    VK2XBP

  16. #16
    Join Date
    Jun 2011
    Location
    Indian Harbour Nova Scotia
    Posts
    108


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    What about Darrel Taylor? Geez, he was another one who helped me a lot, not only through this forum but through the MELabs forum. He was the one that really got me started with this PIC/PBPro stuff, after I had a long hiatus from Motorola products. Great guy, smart as hell and helps every one. What is his story?

  17. #17
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    Dave
    Always wear safety glasses while programming.

  18. #18
    Join Date
    Feb 2012
    Location
    PERTH AUSTRALIA
    Posts
    838


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    i have to aggree that the OSC define is very limiting and also makes for harder reading of code later on

    i needed 1mhz setting , but there i no such setting , have to use 4mhz , which is fine , but it means all the code that has any pauses pauseus , are not correct and these routines have been used in other chips and now need to be changed just to suit this cpu setting.

    not happy

    it makes for servicing the software harder later down the road, and inconsitancies when the code is transported


    not good

  19. #19
    Join Date
    May 2007
    Posts
    604


    Did you find this post helpful? Yes | No

    Default Re: DEFINE OSC too limited

    Quote Originally Posted by Heckler View Post
    ... I wish the Basic Language would experience a sort of comeback or revival!!
    Won't ever happen (outside of the hobby/education market) due to its many limitations/shortcomings.
    Why pay for overpriced toys when you can have
    professional grade tools for FREE!!!

Similar Threads

  1. RF Modules
    By tonyfelloni in forum mel PIC BASIC Pro
    Replies: 44
    Last Post: - 26th June 2010, 18:42
  2. PIC16F877A analog problem
    By DeViLa_Q8 in forum mel PIC BASIC
    Replies: 0
    Last Post: - 30th July 2009, 21:19
  3. RX TX modules - intermitent communication
    By ruijc in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 11th June 2009, 01:13
  4. PIC HSERIN problem
    By shaiqbashir in forum mel PIC BASIC Pro
    Replies: 10
    Last Post: - 20th July 2008, 12:08
  5. Replies: 8
    Last Post: - 17th September 2006, 18:46

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