Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "uart.h"
- #define UART0 ((volatile uint32_t *)0x40000000)
- #define DATA 0
- #define STATE 1
- #define CTRL 2
- #define INTSTAT 3
- #define BAUDDIV 4
- #define PID4 1012
- #define PID0 1016
- #define PID1 1017
- #define PID2 1018
- #define PID3 1019
- #define CID0 1020
- #define CID1 1021
- #define CID2 1022
- #define CID3 1023
- #define CTRL_TX_EN 0x01
- #define CTRL_RX_EN 0x02
- #define CTRL_TXINT_EN 0x04
- #define CTRL_RXINT_EN 0x08
- #define CTRL_TXOR_EN 0x10
- #define CTRL_RXOR_EN 0x20
- #define CTRL_HISPEEDTEST_EN 0x40
- #include "vga.h"
- void uart_isr() {
- vga_terminal_printf("UART ISR!\n");
- }
- void uart_init() {
- UART0[BAUDDIV] = 0xff;
- UART0[CTRL] = CTRL_TX_EN | CTRL_RX_EN | CTRL_TXINT_EN | CTRL_RXINT_EN;
- interrupt_enable(IRQnum_UART0_RX);
- interrupt_enable(IRQnum_UART0_TX);
- void **irq = IRQ(IRQnum_UART0_RX);
- *irq = &uart_isr;
- irq = IRQ(IRQnum_UART0_TX);
- *irq = &uart_isr;
- }
- char uart_read() {
- return 0;
- }
- void uart_write(char data) {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement