Var, I take to mean variable. Remember I'm new to Pics and PBP. So a word var? Is this an extended table?
Var, I take to mean variable. Remember I'm new to Pics and PBP. So a word var? Is this an extended table?
From the manual
There are basically four sizes a VAR can be while using PicBasicPro 2.6x4.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:
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.
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.
high likely 0x00in PBP we use $00 whereas in C you might see something like 0h00![]()
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
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
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
Nope.Can you still use the "b and h" in PCB?
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.
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?
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!
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.
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!
Bookmarks