Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed 4DGL-uLCD-SE MCP23S17
main.cpp@1:d182179e7c1b, 2017-11-20 (annotated)
- Committer:
- ftsenn
- Date:
- Mon Nov 20 19:19:02 2017 +0000
- Revision:
- 1:d182179e7c1b
- Parent:
- 0:5d8ef6969179
- Child:
- 2:2ccb5a604e77
Buses to detect button (piano key) presses.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| ftsenn | 0:5d8ef6969179 | 1 | #include "mbed.h" |
| ftsenn | 0:5d8ef6969179 | 2 | |
| ftsenn | 1:d182179e7c1b | 3 | BusIn rKeys(p16, p17, p18, p19, p20); |
| ftsenn | 1:d182179e7c1b | 4 | BusIn cKeys(p28, p27, p26, p25, p24, p23, p22, p21); |
| ftsenn | 0:5d8ef6969179 | 5 | |
| ftsenn | 0:5d8ef6969179 | 6 | int main() { |
| ftsenn | 1:d182179e7c1b | 7 | rKeys.mode(PullUp); |
| ftsenn | 1:d182179e7c1b | 8 | cKeys.mode(PullUp); |
| ftsenn | 1:d182179e7c1b | 9 | |
| ftsenn | 1:d182179e7c1b | 10 | int rNeeded = 0x0F; |
| ftsenn | 1:d182179e7c1b | 11 | //options: 0001 1110 (0x1E), 0001 1101 (0x1D), 0001 1011 (0x1B), 0001 0111 (0x17), 0000 1111 (0x0F) |
| ftsenn | 1:d182179e7c1b | 12 | |
| ftsenn | 1:d182179e7c1b | 13 | int cNeeded = 0xFE; |
| ftsenn | 1:d182179e7c1b | 14 | //options: 1111 1110 (0xFE), 1111 1101 (0xFD), 1111 1011 (0xFB), 1111 0111 (0xF7), |
| ftsenn | 1:d182179e7c1b | 15 | // 1110 1111 (0xEF), 1101 1111 (0xDF), 1011 1111 (0xBF), 0111 1111 (0x7F) |
| ftsenn | 1:d182179e7c1b | 16 | |
| ftsenn | 0:5d8ef6969179 | 17 | while(1) { |
| ftsenn | 1:d182179e7c1b | 18 | //check if it's the correct key |
| ftsenn | 1:d182179e7c1b | 19 | if ((rKeys == rNeeded) & (cKeys == cNeeded)) { |
| ftsenn | 1:d182179e7c1b | 20 | //get next note |
| ftsenn | 1:d182179e7c1b | 21 | |
| ftsenn | 1:d182179e7c1b | 22 | //modify uLCD |
| ftsenn | 1:d182179e7c1b | 23 | |
| ftsenn | 1:d182179e7c1b | 24 | //turn on correct LED |
| ftsenn | 1:d182179e7c1b | 25 | } |
| ftsenn | 0:5d8ef6969179 | 26 | } |
| ftsenn | 0:5d8ef6969179 | 27 | } |
