Чтение регистра: WriteByte(0x07); ReadByte();
запись в этот же регистр: WriteByte(0x27); WriteByte(0b00001110); //и при этом здесь ошибка, почему, написано ниже.
т.е. WriteByte(0x07); команда на чтение, команда для записи WriteByte(0x07+0x20); =>WriteByte(0x27);
и это для регистров с адресами 0х00-0х1F.
Gin87 писал(а):Считываю вроде регистр СТАТУС, все три бита в единице.
Всё зависит от того какие биты в единице, если 1,2,3 то они и будут в единице поскольку приёмный буфер пуст, причём в эти биты нельзя писать свои значения, они только для чтения; биты прерывания - 6,5,4 и это должно выглядеть для сброса так WriteByte(0b01110000);