Hi Rob,

I've often observed pseudo-vars don't behave the same as explicit
corresponding function call. Actually, I sometime tend not to trust them.
See for instance my post in jallist about "byte out black magic"

   serial_hw_data = "a"

doesn't give the same results as

   serial_hw_write("a")

in this context (which I did not clearly identified...).

For your problem, have you tried:

var byte v = line[i]
lcd = v


(just an idea/intuition...)


Cheers,
Seb


> >
> >> The API change of the lcd libs caused some errors in old samples.
> >> I volunteer to correct these (and replace some with new samples), unless
> >> you want to do it.
>
> > Thank you for volunteering, please correct/replace what you think is
> desireable.
>
> Before I start, I need to resolve an issue....
> After I made a minor change in my sample it doesn't work anymore as
> expected.   See a (reduced) source below. I expect the first line to
> show 012...DEF (char by char), but in stead it is filled with 16 '0'
> characters. It looks like the index [i] is not used.
>
> When I change the statement
>   lcd = line[i]
> into
>   lcd_write_char(line[i])
> the expected 012...DEF is shown.
>
> Is this a compiler issue?
>
> Regards, Rob.
>
> > -- ------------------------------------------------------
> > include 16f877a                       -- target PICmicro
> > --
> > pragma target OSC HS                  -- HS crystal or resonator
> > pragma target clock 20_000_000        -- oscillator frequency
> > pragma target WDT  disabled           -- WDT off
> > -- pragma target MCLR external
> > --
> > enable_digital_io()                   -- disable analog I/O (if any)
> > --
> > const byte LCD_ROWS    =  2           -- LCD with 2 lines
> > const byte LCD_CHARS   =  16          -- and 16 characters per line
> > --
> > var  byte lcd_dataport_low is portC_high
> > var  byte lcd_dataport_high is portD_high
> > var  bit  lcd_en       is pin_D3      -- data trigger
> > var  bit  lcd_rs       is pin_D2      -- command/data select.
> > --
> > portC_high_direction   = all_output
> > portD_high_direction   = all_output
> > pin_D3_direction       = output
> > pin_D2_direction       = output
> > --
> > include lcd_hd44780_8
> > --
> > lcd_init()                            -- init the lcd controller
> > --
> > include delay                         -- fetch delay library
> > --
> > -- --- generate LCD screen activity ---------
> > var byte line[LCD_CHARS] = "0123456789ABCDEF"
> > var byte i
> > forever loop
> >    lcd_clear_screen()
> >    for LCD_CHARS using i loop
> >       lcd = line[i]               -- !! gives all 0
> > --    lcd_write_char(line[i])     -- !! give 012...DEF
> >       delay_100ms(3)              -- little pause
> >    end loop
> > end loop
>
> --
> Rob Hamerling, Vianen, NL (http://www.robh.nl/)
>
> >
>


-- 
Sébastien Lelong
http://www.sirloon.net
http://sirbot.org

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jallib" group.
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to