Я новичок в программировании микроконтроллеров PIC и C, и мне поставили задачу создать собственный метод сканирования клавиатуры, который работает исключительно на порте C (микроконтроллер 16F877A). В частности, программа, использующая этот метод, использует только цифры 1, 2, 4 и 5, поэтому, чтобы быть эффективным, метод сканирования должен использовать только RC0, RC1, RC2 и RC3 в качестве назначенных входов/выходов (мне не разрешено использовать RC4-RC7). По сути, это превращает клавиатуру 4x4 в клавиатуру 2x2.
Я понимаю, что концепция сканирования имеет линии порта, установленные на высокие строки, и строки, установленные в качестве входных столбцов - когда кнопка нажата, это считывает нижний бит порта для обнаружения кнопки.
К сожалению, я понятия не имею, как это закодировать на C, особенно с использованием указанных выше строк порта. Может ли кто-нибудь пролить свет на проблему и указать мне правильное направление? Спасибо!