Кусок схемы
Фишка этих исходников что они используют свой matrix.c и в этом видимо проблема.
Добавляю в led.c один светодиод, а именно дописываю в void
Код: Выделить всё
if (usb_led & (1<<USB_LED_NUM_LOCK))
PORTB &= ~(1<<7);//port b7 12
else
PORTB |= (1<<7);Проблема в том что светодиод на этой ноге светит в пол силы, мультиметр показывает 1,5в, на остальных 3,5в, резюк наборный 1к, цеплял к разным ногам, но не суть потому как он идёт к корпусу.
Первое что подумал ещё с 12 ногой, что она участвует в опросе матрицы и там лог1 не задерживается, но вот почему и с 8 ногой так, может ошибка в коде.
Пробовал менять сигналы местами, всё равно на этих ногах слабее.
Пялюсь в matrix.c, но нифига не могу найти где указан этот PORTB 7 в понятной форме, ладно бы там одна таблица была, но их там 4 и я не могу понять какая к чему .
Этот файл использует 1 дешифратор вместо двух, в моём случае я использую несколько блоков и городить в каждый по 2 дешифратора както дофига. Да и эта схема далеко не лучшая, потому как мне както нужно инвертировать данные дешифратора, он у меня с инверсией


