Control a Radio PLL with a PIC


Closed Thread
Results 1 to 40 of 54

Hybrid View

  1. #1
    Join Date
    Jun 2011
    Posts
    37


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    Var, I take to mean variable. Remember I'm new to Pics and PBP. So a word var? Is this an extended table?

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


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    From the manual
    4.3. Variables

    Variables are where temporary data is stored in a PICBASIC PRO™ program. They are created using the VAR keyword. Variables may be bits, bytes or words. Space for each variable is automatically allocated in the microcontroller=s RAM by PBP. The format for creating a variable is as follows:
    There are basically four sizes a VAR can be while using PicBasicPro 2.6x
    BIT = number of BITs - 1
    BYTE = number of BITs - 8
    WORD = number of BITs -16
    LONG = number of BITs - 32
    Dave
    Always wear safety glasses while programming.

  3. #3
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    Yes, var= variable
    bit is one of the placeholders in the larger variable, example
    say you want a variable to hold a value as a flag for an event, you could make a bit variable, called . . . FLAGBIT this way FLAGBIT VAR BIT
    or you might need several flag bits and do it this way
    FLAGBIT VAR BYTE which gives you an 8 bit byte full of FLAGBITS as follows
    FLAGBIT.0 lowest bit in the byte
    FLAGBIT.1 second bit in the byte
    FLAGBIT.2 third " " " "
    FLAGBIT.3 . . .
    FLAGBIT.4 . . . all the way to FLAGBIT.7 , FLAGBIT.7 being the highest order bit in the byte variable
    which is to say you can address every bit of your variable individually.
    Byte = %00000000 will hold 0 to 255 in decimal
    word = %00000000 00000000 will hold 0 to 65535 in decimal
    LONG = %00000000 00000000 00000000 00000000 which is 4294967295 but I think (I am not sure of this) only allows 1/2 that much on each side of zero -2147483647 0 2147483647

    Notice the way I have written the binary expression %00000000 this is the appropriate syntax for P Basic Pro, other compilers may use different "punctuation" and you will see "BIG ENDIAN" and LITTLE ENDIAN" usage and all that means is which end of the group of zeros is the least significant bit, the Left or the Right.

    You will see different ways of displaying hex as well, in PBP we use $00 whereas in C you might see something like 0h00
    Last edited by Archangel; - 12th June 2011 at 01:15.
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

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


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    in PBP we use $00 whereas in C you might see something like 0h00
    high likely 0x00
    Steve

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

  5. #5
    Join Date
    Feb 2006
    Location
    Gilroy, CA
    Posts
    1,530


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    This may not be it, but the only thing I notice is: you have OSC_HS selected, but you are using an oscillator at 4 mhz. If you are using an oscillator instead of a resonator, this should be set to XT for 4 mhz. If you are using a resonator, did you see the note with the data sheet?

    Note: When using resonators with frequencies
    above 3.5 MHz, the use of HS mode,
    rather than XT mode, is recommended.
    HS mode may be used at any VDD for
    which the controller is rated. If HS is
    selected, it is possible that the gain of the
    oscillator will overdrive the resonator.
    Therefore, a series resistor should be
    placed between the OSC2 pin and the
    resonator. As a good starting point, the
    recommended value of RS is 330Ω.
    http://www.scalerobotics.com

  6. #6
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    Rayl113, Also make sure the "PBADEN" bit's are set for Digital on reset. Other wise the port Bb.0 thru B.3 are set as analog after reset....
    Dave Purola,
    N8NTA
    EN82fn

  7. #7
    Join Date
    Jun 2011
    Posts
    37


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    Quote Originally Posted by Archangel View Post
    Yes, var= variable
    bit is one of the placeholders in the larger variable, example
    say you want a variable to hold a value as a flag for an event, you could make a bit variable, called . . . FLAGBIT this way FLAGBIT VAR BIT
    or you might need several flag bits and do it this way
    FLAGBIT VAR BYTE which gives you an 8 bit byte full of FLAGBITS as follows
    FLAGBIT.0 lowest bit in the byte
    FLAGBIT.1 second bit in the byte
    FLAGBIT.2 third " " " "
    FLAGBIT.3 . . .
    FLAGBIT.4 . . . all the way to FLAGBIT.7 , FLAGBIT.7 being the highest order bit in the byte variable
    which is to say you can address every bit of your variable individually.
    Byte = %00000000 will hold 0 to 255 in decimal
    word = %00000000 00000000 will hold 0 to 65535 in decimal
    LONG = %00000000 00000000 00000000 00000000 which is 4294967295 but I think (I am not sure of this) only allows 1/2 that much on each side of zero -2147483647 0 2147483647

    Notice the way I have written the binary expression %00000000 this is the appropriate syntax for P Basic Pro, other compilers may use different "punctuation" and you will see "BIG ENDIAN" and LITTLE ENDIAN" usage and all that means is which end of the group of zeros is the least significant bit, the Left or the Right.

    You will see different ways of displaying hex as well, in PBP we use $00 whereas in C you might see something like 0h00
    Thanks that helps alot. Yes I had noticed the % in front of what looked like binary expressions but hadn't noticed the $ in front of hex expressions. Can you still use the "b and h" in PCB? In case I forget and use the asm expression?

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


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    Can you still use the "b and h" in PCB?
    Nope.
    From the manual.
    4.8. Numeric Constants
    PBP allows numeric constants to be defined in the three bases: decimal, binary and hexadecimal. Binary values are defined using the prefix '%' and hexadecimal values using the prefix '$'. Decimal values are the default and require no prefix.

    100 ' Decimal value 100
    %100 ' Binary value for decimal 4
    $100 ' Hexadecimal value for decimal 256
    Dave
    Always wear safety glasses while programming.

  9. #9
    Join Date
    Jun 2011
    Posts
    37


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    What if I want to use a cb channel switch instead of an encoder? The first four pins have a logical progression of 0000 to 1111. Couldn't I use this like a Gray code encoder? Count increase would equal up and count decrease would equal down. What do you think?

  10. #10
    Join Date
    Aug 2010
    Location
    Maryland, USA
    Posts
    869


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    You can use that, you can use the thing you already have, its up to you. They both CAN work. With the CB switch you will only get 16 changes per full revolution. If this is enough then use it. It will prolly still have noisey output so de-bouncing will still be neccessary. Now if you can get this, I have used many, they work really well.

    Let us know how you are getting along on this project. Have you blinked a LED on port A yet?
    -Bert

    The glass is not half full or half empty, Its twice as big as needed for the job!

    http://foamcasualty.com/ - Warbird R/C scratch building with foam!

  11. #11
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    Search here . . .

    http://www.mouser.com/Electromechani...ers/_/N-39xfc/

    Seriously Cheap !
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  12. #12
    Join Date
    Jun 2011
    Posts
    37


    Did you find this post helpful? Yes | No

    Default Re: Control a Radio PLL with a PIC

    Quote Originally Posted by cncmachineguy View Post
    You can use that, you can use the thing you already have, its up to you. They both CAN work. With the CB switch you will only get 16 changes per full revolution. If this is enough then use it. It will prolly still have noisey output so de-bouncing will still be neccessary. Now if you can get this, I have used many, they work really well.

    Let us know how you are getting along on this project. Have you blinked a LED on port A yet?
    I think I'm going to try to use the channel selector approach. Using RE1 thru RE4 as the inputs. I read in the manual that there is a command that will sample the designated pins and store the result in a register of my chosing. The problem I am having trouble sorting out in my head is what should I do when the count goes back to 0000 after 1111 and vice versa. And still have the count continue up or down. Is there some way to like have a loop restart when this limit is reached?
    Just messing with it as time allows. So not much progress. Still learnig the PBP commands and uses. And yes, got LED's blinking like crazy using machine code, but haven't tried it wih PBP yet.
    Thanks for the helps Guys!

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