peredOS/drivers/serial.c
msh356 884b58f304 MULTIPLE: 2 изменения
CHORE: удалено лишнее
ROADMAP: закрыто 2 пункта
2026-07-01 19:18:37 +03:00

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]);
}
}