diff options
Diffstat (limited to 'c/src/lib/libbsp/lm32/milkymist/Documentation/uart.txt')
-rw-r--r-- | c/src/lib/libbsp/lm32/milkymist/Documentation/uart.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/lm32/milkymist/Documentation/uart.txt b/c/src/lib/libbsp/lm32/milkymist/Documentation/uart.txt new file mode 100644 index 0000000000..b5b93043e9 --- /dev/null +++ b/c/src/lib/libbsp/lm32/milkymist/Documentation/uart.txt @@ -0,0 +1,31 @@ +Initialization : + + set the CSR_UART_DIVISOR to the correct VALUE, + depending on the internal frequency of the LatticeMico32 softcore. + + for the ML401 board, this value is calculated using this formula : clk_frequency/230400/16 + clk_frequency = 100000000 Hz + => we must set CSR_UART_DIVISOR to 27 + +How to send a byte to uart : + +void writechar(char c) +{ + CSR_UART_RXTX = c; + while(!(irq_pending() & IRQ_UARTTX)); + irq_ack(IRQ_UARTTX); +} + +How to receive a byte from uart : + + +char readchar() +{ + char c; + while(!(irq_pending() & IRQ_UARTRX)); + irq_ack(IRQ_UARTRX); + c = CSR_UART_RXTX; + return c; +} + + |