27 lines
570 B
C
27 lines
570 B
C
#include "../kernel/io.h" // Подключаем наши порты
|
|
|
|
#define COM1 0x3F8
|
|
|
|
void serial_init(void) {
|
|
outb(COM1 + 1, 0x00);
|
|
outb(COM1 + 3, 0x80);
|
|
outb(COM1 + 0, 0x03);
|
|
outb(COM1 + 1, 0x00);
|
|
outb(COM1 + 3, 0x03);
|
|
outb(COM1 + 2, 0xC7);
|
|
}
|
|
|
|
int is_transmit_empty(void) {
|
|
return inb(COM1 + 5) & 0x20;
|
|
}
|
|
|
|
void serial_putc(char c) {
|
|
while (is_transmit_empty() == 0);
|
|
outb(COM1, c);
|
|
}
|
|
|
|
void kprint_serial(const char* str) {
|
|
for (int i = 0; str[i] != '\0'; i++) {
|
|
serial_putc(str[i]);
|
|
}
|
|
}
|