Changeset 71 in projects
- Timestamp:
- Mar 30, 2013, 3:01:08 PM (10 years ago)
- Location:
- punch-card-project/trunk/driver/documation-m200/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
punch-card-project/trunk/driver/documation-m200/src/protocol.c
r56 r71 49 49 50 50 // Haupt-Transmit-Routine, backend von stdio 51 // Used for ordinary string output 52 // Usage: fputc, fputs, putchar 51 53 int uart_transmit_main(char c, FILE* stream) { 52 54 if(c == '\n') 53 55 uart_transmit_main('\r', stream); 54 56 57 uart_transmit_binary(c); 58 return 0; 59 } 60 61 // Haupt-Transmit-Routine, binary backend von stdio-like 62 // Usage: fputc(c, binary_main_thread); 63 void uart_transmit_binary(char c) { 64 // only difference to uart_transmit_main: No "\n" => "\r\n" conversion since 65 // data is treated as binary 66 55 67 while (!(UCSR0A & 0b00100000)); 56 68 // PENDING: Hardware flow control 57 69 UDR0 = c; 58 return 0;59 70 } 60 71 … … 148 159 odd_col = current_read_card.columns[x++]; 149 160 150 putchar( even_col >> 4 ); // erstes byte 151 putchar( ((even_col & 017) << 4) | (odd_col >> 8) ); // zweites byte 152 putchar( odd_col & 00377 ); // drittes byte 161 // bypass stdout for avoiding EOL conversion 162 uart_transmit_binary( even_col >> 4 ); // erstes byte 163 uart_transmit_binary( ((even_col & 017) << 4) | (odd_col >> 8) ); // zweites byte 164 uart_transmit_binary( odd_col & 00377 ); // drittes byte 153 165 } 154 166 } -
punch-card-project/trunk/driver/documation-m200/src/protocol.h
r56 r71 45 45 int uart_transmit(char c, FILE* stream); 46 46 int uart_transmit_main(char c, FILE* stream); 47 void uart_transmit_binary(char c); 47 48 48 49 // A char value as return value from uart_recieve
Note: See TracChangeset
for help on using the changeset viewer.