You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.9 KiB
87 lines
2.9 KiB
#if UART == 0
|
|
#include "libmfuart0.h"
|
|
#define uart_txfree uart0_txfree
|
|
#define uart_rxcount uart0_rxcount
|
|
#define uart_wait_txfree uart0_wait_txfree
|
|
#define uart_wait_rxcount uart0_wait_rxcount
|
|
#define uart_rxpeek uart0_rxpeek
|
|
#define uart_txpokehex uart0_txpokehex
|
|
#define uart_txpoke uart0_txpoke
|
|
#define uart_rxadvance uart0_rxadvance
|
|
#define uart_txadvance uart0_txadvance
|
|
#define uart_rx uart0_rx
|
|
#define uart_tx uart0_tx
|
|
#define uart_writestr uart0_writestr
|
|
#define uart_writehexu16 uart0_writehexu16
|
|
#define uart_writehexu32 uart0_writehexu32
|
|
#define uart_writeu16 uart0_writeu16
|
|
#define uart_writeu32 uart0_writeu32
|
|
#elif UART == 1
|
|
#include "libmfuart1.h"
|
|
#define uart_txfree uart1_txfree
|
|
#define uart_rxcount uart1_rxcount
|
|
#define uart_wait_txfree uart1_wait_txfree
|
|
#define uart_wait_rxcount uart1_wait_rxcount
|
|
#define uart_rxpeek uart1_rxpeek
|
|
#define uart_txpokehex uart1_txpokehex
|
|
#define uart_txpoke uart1_txpoke
|
|
#define uart_rxadvance uart1_rxadvance
|
|
#define uart_txadvance uart1_txadvance
|
|
#define uart_rx uart1_rx
|
|
#define uart_tx uart1_tx
|
|
#define uart_writestr uart1_writestr
|
|
#define uart_writehexu16 uart1_writehexu16
|
|
#define uart_writehexu32 uart1_writehexu32
|
|
#define uart_writeu16 uart1_writeu16
|
|
#define uart_writeu32 uart1_writeu32
|
|
#elif UART == 2
|
|
#include "libmfdbglink.h"
|
|
#define uart_txfree dbglink_txfree
|
|
#define uart_rxcount dbglink_rxcount
|
|
#define uart_wait_txfree dbglink_wait_txfree
|
|
#define uart_wait_rxcount dbglink_wait_rxcount
|
|
#define uart_rxpeek dbglink_rxpeek
|
|
#define uart_txpokehex dbglink_txpokehex
|
|
#define uart_txpoke dbglink_txpoke
|
|
#define uart_rxadvance dbglink_rxadvance
|
|
#define uart_txadvance dbglink_txadvance
|
|
#define uart_rx dbglink_rx
|
|
#define uart_tx dbglink_tx
|
|
#define uart_writestr dbglink_writestr
|
|
#define uart_writehexu16 dbglink_writehexu16
|
|
#define uart_writehexu32 dbglink_writehexu32
|
|
#define uart_writeu16 dbglink_writeu16
|
|
#define uart_writeu32 dbglink_writeu32
|
|
#elif UART == 4
|
|
#include "libmflcd2.h"
|
|
#define uart_poll lcd2_poll
|
|
#define uart_txidle lcd2_txidle
|
|
#define uart_txfree lcd2_txfree
|
|
#define uart_wait_txdone lcd2_wait_txdone
|
|
#define uart_wait_txfree lcd2_wait_txfree
|
|
#define uart_txpokehex lcd2_txpokehex
|
|
#define uart_txpoke lcd2_txpoke
|
|
#define uart_txadvance lcd2_txadvance
|
|
#define uart_tx lcd2_tx
|
|
#define uart_writestr lcd2_writestr
|
|
#define uart_writehexu16 lcd2_writehexu16
|
|
#define uart_writehexu32 lcd2_writehexu32
|
|
#define uart_writeu16 lcd2_writeu16
|
|
#define uart_writeu32 lcd2_writeu32
|
|
#else
|
|
#error "UART not set"
|
|
#endif
|
|
|
|
void uart_writehexu32(uint32_t val, uint8_t nrdig)
|
|
{
|
|
uint8_t __autodata nrdig1 = nrdig;
|
|
uint8_t __autodata digit = nrdig1;
|
|
uart_wait_txfree(nrdig1);
|
|
while (digit) {
|
|
--digit;
|
|
uart_txpokehex(digit, val);
|
|
val >>= 4;
|
|
}
|
|
uart_txadvance(nrdig1);
|
|
}
|