SSI OpComms 3 CM TX

Dependencies:   mbed

Fork of Optical3cmTXnucleo by Thomas Teisberg

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?

UserRevisionLine numberNew 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 }