Николай Коровин (07.04.2017 13:02, просмотров: 120) ответил Mahagam на а ничего что при приёме через прерывания на каждый принятый/отправленный байт надо а) сохранить контекст, б) вызвать обработчик в) поколдовать с приёмником байтиков, успокоить контроллер прерываний г) восстановить контекст.
Вот-вот. Прерывания такие мягкие, незаметные, втираются в душу и как будто ничего не стоят… а я вот попробовал тактов наскрести, чтобы поменять плату на более дешёвую, и как раз прерывания у меня всё съели, так и забил на эту экономию. Я тут, помнится, носился с воображаемым четырёх- (шести-?) битником, который суть что-то среднее между очень простым контролером со вшитым управлением LCD и контроллером LCD типа «капелька на плате» с зачаточной возможностью перепрограммирования под нужды юзера. Так вот, нормальные прерывания у меня в него вообще не вписались (контроллер прерываний сразу раздувает блок-схему до совершенно другой весовой категории), смог придумать только разделение регистров на уровне компиляции (ну, асм условно отнесём к ней же). А вместо прерывания — грубый одноуровневый вызов, и уже проблема компилятора не испортить контент. Дико, но можно сделать очень быстрый обработчик, если заранее поделить регистры на ваши-наши, а при той тактовой частоте, которую имеют такие контроллеры, это актуально.