R: solved,thanks to you all

> it looks that the problem was due to the checking of the busy flag

> > > > the loop (pseudo code) > > check db7 -gobackthere if still high > > > > was simply too long,shortening it seems enough to solve the problem > > > > the strange thing is that checking the signal with my logic state > > nalyzer( a vintage 8 bit tektronix 308) it looks that once the enable

pin is

> turned high the DB7 becames low noramlly,but because of the low depth

of

> the machine i can suppose that in some case it misses it,eventough i

used

> dummy pulses to trigger it in the zone most likely problematic > > > > Thank you all again,once this Ng is very useful even for a

not-so-skilled

> guy as i am > > > > i assure you that i post questions only after more than 3 hours of > > depression about the problem > > > What you see reminds me of a bug I discovered several years ago. I do > not remember exactly all the details now, but I can tell you that if > you are using a PIC processor, and using the code that Microchip > suggested in an ap note about driving LCD numeric displays, it may be > wrong. It went something like, "enable reading status, disable > reading status, read the bit" instead of "enable reading status, read > the bit, disable reading status." Most of the time the first one > worked, because the tri-state bus had enough capacitance to hold the > correct value, but sometimes it failed, and the failure could be > consistent because of other things going on. It could be influenced > by the difference between 8 bit and 4 bit modes. The last time I > checked, quite some time ago, but also quite some time after I > reported the bug to Microchip, it was still in the ap note the same > way. I wonder how many people have used their code and not caught the > error. -- Yes, I think it's still there in AN587, at code lines > 419-421. If this isn't the problem you're having, maybe someone else > will see it and be saved some agony. ;-) >

no i did it by myself,and i did at first the error checking the busy flag ENA high read the bit ;error because the data is not yet out on the DB7 of the LCD ENA low

instead of

ENA high ENA low read the bit

but my last error was only about the loop length

Reply to
blisca
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.