| ??? 06/27/10 19:29 Read: times |
#176940 - Done ! Responding to: ???'s previous message |
Dear all,
I have just successfully completed the text input scheme on LCD. Made a video of it (sorry for the bad quality though): http://www.youtube.com/watch?v=Ba967CND7-U The text written on the LCD is "multi-tap is 2 cool!!!" I even implemented a static cursor inside timeout period & blinking otherwise. And yes the final code is zipping through main() doing other stuff as well while inputting this :-) I kept a global multitap_timeout initially as 0, and decremented by the 50ms timer interrupt when >0, whenever 1 sec delay is required set it to 20 & wait for it being 0: /*--------------------------------------------
This occurs every 50ms
---------------------------------------------*/
void timer_1_interr(void) interrupt 3
{
static unsigned char data multiplier = 0;
TR1 = 0;
TF1 = 0;
if(++multiplier == 20)
{ multiplier = 0;
soft_RTC_ticks++;
}
TH1 = SOFT_RTC_TH1_RELAOD; //relaod timer 1
TL1 = SOFT_RTC_TL1_RELAOD;
TR1 = 1;
if(multitap_timeout) //dec if not already 0
multitap_timeout--;
}
Note that I have put it after TR1=1; so the software RTC accuracy wont be affected since it wont ever take >50ms to execute the 2 line code after TR1=1; (in this case). Correct me if this has some downfall. I just now have to save the final alphanumeric string to RAM which should be easy.
Thanks and cheers to everyone who have given their precious time. I feel obliged. -Regards, Munish |
| Topic | Author | Date |
| Ideas for Multi-tap keyboard routine | 01/01/70 00:00 | |
| just follow | 01/01/70 00:00 | |
| Multi-tap is not too difficult | 01/01/70 00:00 | |
| Two-step operation. Keyboard input + post-processing | 01/01/70 00:00 | |
| State Machine! | 01/01/70 00:00 | |
| Agree 100% | 01/01/70 00:00 | |
| Time to code | 01/01/70 00:00 | |
| Software Timers! | 01/01/70 00:00 | |
| Practical Limits | 01/01/70 00:00 | |
| Don't lock up in infinite loops everywhere | 01/01/70 00:00 | |
| In the pseudo code... | 01/01/70 00:00 | |
| State Machine | 01/01/70 00:00 | |
| Divide by 5 | 01/01/70 00:00 | |
| Timer resolution | 01/01/70 00:00 | |
| State Machine | 01/01/70 00:00 | |
| Looks not bad programming practice | 01/01/70 00:00 | |
| Using Timer May Still be Possible | 01/01/70 00:00 | |
| Done ! | 01/01/70 00:00 | |
| Very Cool!!! | 01/01/70 00:00 | |
| Compare with zero is better | 01/01/70 00:00 | |
| Avoid ISR jitter using timer T1 | 01/01/70 00:00 | |
| Code! | 01/01/70 00:00 | |
Thanks Munish... | 01/01/70 00:00 |



