1 | typedef union |
2 | {
|
3 | // 8-bit data
|
4 | struct
|
5 | {
|
6 | UINT16 data8bit : 8; |
7 | };
|
8 | |
9 | // 9-bit data
|
10 | struct
|
11 | {
|
12 | UINT16 data9bit : 9; |
13 | };
|
14 | |
15 | UINT16 __data; |
16 | } UART_DATA; |
17 | |
18 | |
19 | extern inline void __attribute__((always_inline)) UARTSendData( UART_MODULE id, UART_DATA data ) |
20 | {
|
21 | uartReg[id]->tx.reg = data.__data; |
22 | }
|
Frage: Wie muss ich *data casten damit er das akzeptiert?
1 | void debug_puts(char *data) { |
2 | do
|
3 | {
|
4 | while(UARTTransmitterIsReady(DEBUG_UART)); |
5 | UARTSendData(DEBUG_UART, (????)(*data)); |
6 | } while( *data++ ); |
7 | }
|