SSI OpComms 3 CM TX
Dependencies: mbed
Fork of Optical3cmTXnucleo by
main.cpp@0:cb5d20585be4, 2015-10-30 (annotated)
- Committer:
- tteisberg
- Date:
- Fri Oct 30 05:32:28 2015 +0000
- Revision:
- 0:cb5d20585be4
- Child:
- 1:a5e80a54e72f
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tteisberg | 0:cb5d20585be4 | 1 | #include "mbed.h" |
tteisberg | 0:cb5d20585be4 | 2 | |
tteisberg | 0:cb5d20585be4 | 3 | DigitalOut tx(D15); |
tteisberg | 0:cb5d20585be4 | 4 | |
tteisberg | 0:cb5d20585be4 | 5 | Serial pc(USBTX, USBRX); // tx, rx |
tteisberg | 0:cb5d20585be4 | 6 | |
tteisberg | 0:cb5d20585be4 | 7 | void blink_binary(char c) |
tteisberg | 0:cb5d20585be4 | 8 | { |
tteisberg | 0:cb5d20585be4 | 9 | for (int i = 7; i >= 0; --i) { |
tteisberg | 0:cb5d20585be4 | 10 | tx = 0; |
tteisberg | 0:cb5d20585be4 | 11 | wait_ms(10); |
tteisberg | 0:cb5d20585be4 | 12 | tx = 1; |
tteisberg | 0:cb5d20585be4 | 13 | wait_ms((c & (1 << i)) ? 20 : 10); |
tteisberg | 0:cb5d20585be4 | 14 | tx = 0; |
tteisberg | 0:cb5d20585be4 | 15 | } |
tteisberg | 0:cb5d20585be4 | 16 | wait_ms(30); |
tteisberg | 0:cb5d20585be4 | 17 | } |
tteisberg | 0:cb5d20585be4 | 18 | |
tteisberg | 0:cb5d20585be4 | 19 | int main() |
tteisberg | 0:cb5d20585be4 | 20 | { |
tteisberg | 0:cb5d20585be4 | 21 | char* teststr = "Hello World\r\n"; |
tteisberg | 0:cb5d20585be4 | 22 | int testlen = strlen(teststr); |
tteisberg | 0:cb5d20585be4 | 23 | |
tteisberg | 0:cb5d20585be4 | 24 | pc.printf("3 CM Link Board - Transmit\r\n"); |
tteisberg | 0:cb5d20585be4 | 25 | char buffer[100]; |
tteisberg | 0:cb5d20585be4 | 26 | int idx = 0; |
tteisberg | 0:cb5d20585be4 | 27 | while(1) { |
tteisberg | 0:cb5d20585be4 | 28 | char a = pc.getc(); |
tteisberg | 0:cb5d20585be4 | 29 | if(a != '\n' && idx < 100){ |
tteisberg | 0:cb5d20585be4 | 30 | buffer[idx] = a; |
tteisberg | 0:cb5d20585be4 | 31 | idx++; |
tteisberg | 0:cb5d20585be4 | 32 | }else{ |
tteisberg | 0:cb5d20585be4 | 33 | for(int i=0;i<idx;i++){ |
tteisberg | 0:cb5d20585be4 | 34 | blink_binary(buffer[i]); |
tteisberg | 0:cb5d20585be4 | 35 | } |
tteisberg | 0:cb5d20585be4 | 36 | blink_binary('\r'); |
tteisberg | 0:cb5d20585be4 | 37 | blink_binary('\n'); |
tteisberg | 0:cb5d20585be4 | 38 | idx = 0; |
tteisberg | 0:cb5d20585be4 | 39 | } |
tteisberg | 0:cb5d20585be4 | 40 | |
tteisberg | 0:cb5d20585be4 | 41 | |
tteisberg | 0:cb5d20585be4 | 42 | |
tteisberg | 0:cb5d20585be4 | 43 | /* |
tteisberg | 0:cb5d20585be4 | 44 | for(int i=0;i<testlen;i++){ |
tteisberg | 0:cb5d20585be4 | 45 | blink_binary(teststr[i]); |
tteisberg | 0:cb5d20585be4 | 46 | } |
tteisberg | 0:cb5d20585be4 | 47 | */ |
tteisberg | 0:cb5d20585be4 | 48 | } |
tteisberg | 0:cb5d20585be4 | 49 | } |