tim010 tim010
/
lv8_grupa4_tim010_z2
Adna Durakovic Amra Dautbegovic
main.cpp@1:2100cb58a020, 2014-05-05 (annotated)
- Committer:
- tim010
- Date:
- Mon May 05 18:23:22 2014 +0000
- Revision:
- 1:2100cb58a020
- Parent:
- 0:2a690dd32304
lv8_tim010_z3;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tim010 | 0:2a690dd32304 | 1 | #include "mbed.h" |
tim010 | 1:2100cb58a020 | 2 | #include "N5110.h" |
tim010 | 1:2100cb58a020 | 3 | #include <string> |
tim010 | 1:2100cb58a020 | 4 | |
tim010 | 1:2100cb58a020 | 5 | DigitalOut enable(dp14); |
tim010 | 1:2100cb58a020 | 6 | N5110 displej(dp4,dp24,dp23,dp25,dp2,dp6,dp18); |
tim010 | 1:2100cb58a020 | 7 | Serial pc(USBTX, USBRX); |
tim010 | 1:2100cb58a020 | 8 | |
tim010 | 1:2100cb58a020 | 9 | #define DELETE_CHAR '2' |
tim010 | 1:2100cb58a020 | 10 | #define BACKSPACE_CHAR '3' |
tim010 | 1:2100cb58a020 | 11 | #define ENTER_CHAR '1' |
tim010 | 1:2100cb58a020 | 12 | #define ROW_NUM 5 |
tim010 | 1:2100cb58a020 | 13 | #define xPomak 1 |
tim010 | 1:2100cb58a020 | 14 | #define yPomak 1 |
tim010 | 0:2a690dd32304 | 15 | |
tim010 | 1:2100cb58a020 | 16 | string text = ""; |
tim010 | 1:2100cb58a020 | 17 | string prevText = ""; |
tim010 | 1:2100cb58a020 | 18 | |
tim010 | 1:2100cb58a020 | 19 | void ispisiText() { |
tim010 | 1:2100cb58a020 | 20 | displej.clear(); |
tim010 | 1:2100cb58a020 | 21 | displej.setXYAddress(0, 0); |
tim010 | 1:2100cb58a020 | 22 | int x = 0, y = 0; |
tim010 | 0:2a690dd32304 | 23 | |
tim010 | 1:2100cb58a020 | 24 | for(int i = 0; i < text.length(); i++) { |
tim010 | 1:2100cb58a020 | 25 | if(text[i] == ENTER_CHAR) |
tim010 | 1:2100cb58a020 | 26 | displej.setXYAddress(0, (y+yPomak) % ROW_NUM); |
tim010 | 1:2100cb58a020 | 27 | else { |
tim010 | 1:2100cb58a020 | 28 | displej.printChar(text[i]); |
tim010 | 1:2100cb58a020 | 29 | x += xPomak; |
tim010 | 1:2100cb58a020 | 30 | } |
tim010 | 0:2a690dd32304 | 31 | } |
tim010 | 0:2a690dd32304 | 32 | |
tim010 | 1:2100cb58a020 | 33 | displej.refresh(); |
tim010 | 1:2100cb58a020 | 34 | } |
tim010 | 0:2a690dd32304 | 35 | |
tim010 | 0:2a690dd32304 | 36 | int main() { |
tim010 | 1:2100cb58a020 | 37 | enable = 1; |
tim010 | 1:2100cb58a020 | 38 | displej.init(); |
tim010 | 1:2100cb58a020 | 39 | displej.setXYAddress(0, 0); |
tim010 | 1:2100cb58a020 | 40 | char znak; |
tim010 | 1:2100cb58a020 | 41 | |
tim010 | 1:2100cb58a020 | 42 | while(true) { |
tim010 | 1:2100cb58a020 | 43 | prevText = text; |
tim010 | 1:2100cb58a020 | 44 | if(pc.readable()) { |
tim010 | 1:2100cb58a020 | 45 | znak = pc.getc(); |
tim010 | 1:2100cb58a020 | 46 | if(znak == DELETE_CHAR) |
tim010 | 1:2100cb58a020 | 47 | text = ""; |
tim010 | 1:2100cb58a020 | 48 | else if(znak == BACKSPACE_CHAR) |
tim010 | 1:2100cb58a020 | 49 | text = text.substr(0, text.length() - 1); |
tim010 | 1:2100cb58a020 | 50 | else |
tim010 | 1:2100cb58a020 | 51 | text.push_back(znak); |
tim010 | 1:2100cb58a020 | 52 | } |
tim010 | 0:2a690dd32304 | 53 | |
tim010 | 1:2100cb58a020 | 54 | ispisiText(); |
tim010 | 1:2100cb58a020 | 55 | } |
tim010 | 1:2100cb58a020 | 56 | |
tim010 | 1:2100cb58a020 | 57 | return 0; |
tim010 | 1:2100cb58a020 | 58 | } |