I had the same problem on a 7260. Something about parasitic capacitance.
for(pos = 0; pos < 4; pos++) {
*pbddr = 0; // all pins set as inputs
*pbddr = (1 << pos); // exactly one pin is set as output
*pbdr = 0xffffffff;
*pbdr = ~(1 << pos); // only one pin is set to 0
on |= (~(*pbdr >> 4) & 0xf) << (4 * pos);
}
// Original code doesn't work. Parasitic capacitance
/* for(pos = 0; pos < 4; pos++) {
*pbddr = (1 << pos);
*pbdr = ~(1 << pos);
on |= (~(*pbdr >> 4) & 0xf) << (4 * pos);
}
*/
--- In "Dom Storey" <> wrote:
>
> Hi
>
> I am using the keypad on a ts-7250.
> all characters on the keypad on rows 1,2 and 4 produce the right characters,
> but row 3 (characters 7,8,9,<2nd>) produce double characters every time.
> specifically
>
> key chars
> 7 7*
> 8 80
> 9 9#
> <2nd> CD
>
> note that row 4 keys are <clear>,0,<help>,<enter> and they produce
>
> <clear> *
> 0 *
> <help> #
> <enter> D
>
> which is a bit suspicious to me...
>
> However, a faulty lead would just produce 1 character, not 2 consecutive
> ones.
>
> has anyone else seen such behaviour?
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|