I am using the ts-7300 for my senior design project, and I am
preparing to write a Linux driver for it. Everything on the board is
pretty much how I got it, same kernel and everything. I need to hook
up a 3x4 Matrix Keypad to the board and have it send an interrupt when
a key has been pressed. I am going to connect the three column data
lines from the keypad to interrupt-enabled I/O pins on one of the
headers, and then the row data lines will be connected to the same
header but without interrupts enabled. Will I need to worry about
debounce control inside the handler? What I obviously don't want is
more than one interrupt to be sent for only one key press. I am still
doing some more reading on drivers but my plan is:
1. Disable interrupts associated with the keypad
2. Read from the header what key was pressed and store it in the next
cell of an array
3. Signal that a tasklet needs to be run to do the overall
processing/checking of the entered code so far
4. Increment the counter keeping track of the next available cell in
the array
5. Re-enable the disabled interrupts
Will this solve my problem? It seems that if the time it takes for
the key to settle is longer than the time it takes to do those five
steps, then I would need to do some adjusting. What is a better way
to do this? Thanks for any help
------------------------------------
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/
|