You guys are great! I think I know the direction to head now. Once I figure it out I will post here what I came up with. Thanks
On Wednesday, August 29, 2012 1:03:40 PM UTC-5, Joep wrote: > > Hi guys, > > I was just composing a reply, when Rob his message came in, which > contains most of what I was about to say. Just want to add that JAL > has a way to name individual (or multiple) bits within a byte, which > could be usefull in this case. > > This: > var byte reg ; your input value > var bit reg_0 at reg:0 > var bit reg_1 at reg:1 > Defines a single byte, and creates names for the lower two bits of > this bytes - so this are the same bits (see 'at' in the definition). > Next: > reg = 1 > puts 0b00000001 in reg, so reg_0 becomes one (true) and reg1 becomes > zero (false). > You can use these values to define pins like: > pin_b0 = reg_0 > pin_b3 = reg_1 > > > Hope this helps (and does not contain too much typos - I have not > compiled the code before posting). > > Joep > > > 2012/8/29 Rob Hamerling <[email protected] <javascript:>>: > > > > Hi John,. > > > > > > On 29-08-12 15:47, John in WI wrote: > >> > >> First off, a big thank you to this group... it has answers to many of > my > >> questions and I've learned a great deal. The jal libraries are > fantastic. > > > > > > Thanks! > > > > > >> I am trying to take a decimal formatted byte (sent serial from a PC) > and > >> convert that to turning on/off individual pins. > >> My 8 pins are on different ports.... 4 on portb 4 portc. Other pins on > C > >> and B ports are being used for other, non output purposes. > >> > >> Often, when I program in basic or c++ there are functions to format a > >> decimal byte to a string of 0's and 1's..... then, using string > >> functions like MID I pick out each bit and get it's value that way. > > > > > > That is a very inefficient way to do things (in a PIC)! You better learn > how > > to handle individual bits in a byte! And it is not so difficult once you > > understand it. Example: > > > > var byte x = "A" > > > > In ASCII notation the bit-pattern of "A" is 0b0100_0001 and that of "a" > is > > 0b0110_0001. So if you need to know if x contains a capital A or a > lowercase > > a then you could do something like: > > > > if (x & 0b0010_0000) then -- check if bit 5 is 1 > > -- { whatever } > > end if > > > > And if you want to be sure that x contains a lowercase letter regardless > if > > it already uppercase or not then you could do > > > > x = x | 0b0010_0000 -- set bit 5 to 1 > > > > Note: bits in a byte are numbered right to left from 0 to 7. > > > > Hope you understand this, once you do: there are more interesting > > bit-operations to learn! > > > > > > > >> I am not finding any way to format a decimal byte to a binary or ways > to > >> pick out individual characters of a string with JAL. > > > > > > The libraries 'Format' and 'Print' have conversion procedures. > > > > Regards, Rob. > > > > -- > > R. Hamerling, Netherlands --- http://www.robh.nl > > > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "jallib" group. > > To post to this group, send email to [email protected]<javascript:>. > > > To unsubscribe from this group, send email to > > [email protected] <javascript:>. > > For more options, visit this group at > > http://groups.google.com/group/jallib?hl=en. > > > -- You received this message because you are subscribed to the Google Groups "jallib" group. To view this discussion on the web visit https://groups.google.com/d/msg/jallib/-/nrFPuwd3EasJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/jallib?hl=en.
