9#ifndef MAX_OS_HARDWARECOMMUNICATION_PORT_H
10#define MAX_OS_HARDWARECOMMUNICATION_PORT_H
14namespace MaxOS::hardwarecommunication {
24 explicit Port(uint16_t port_number);
34 explicit Port8Bit(uint16_t port_number);
37 virtual void write(uint8_t data);
38 virtual uint8_t
read();
50 void write(uint8_t data)
final;
62 virtual void write(uint16_t data);
63 virtual uint16_t
read();
75 virtual void write(uint32_t data);
76 virtual uint32_t
read();
virtual void write(uint16_t data)
write a word to the port
virtual uint16_t read()
read a word from the port
virtual uint32_t read()
read a double word from the port (32Bit)
virtual void write(uint32_t data)
write a double word to the port (32Bit)
Handles 8 bit ports (slow)
void write(uint8_t data) final
write a byte to the port (slow)
virtual uint8_t read()
read a byte from the port
virtual void write(uint8_t data)
write a byte to the port
uint16_t m_port_number
The port to write to / read from.