Pro Micro на Atmega32u4
- Войдите на сайт для отправки комментариев
Пт, 04/05/2018 - 15:07
Необходимо на пинах 4,5,6,7 (Pro Micro на Atmega32u4) организовать перебор по 16 адресам (т.е. пройтьсь от 0 до F) Понятное дело, что работа с регистрами. На UNO проблем нет, а на Atmega32u4 затык. Для проверки делал:
DDRD = DDRD | 0xfc;
PORTD = B1111100;
Дает 1 только на 4 пине.
Простите первый раз на форуме, как все правильно оформлять еще не научился.
Ну так и играйтесь пинами. А если хочется напрямую, т.е., менять одновременно, то используйте выводы одного порта.
Спасибо! Вот я и играюсь регистром. Для проверки я работаю с регистром D. Насколько я понимаю команда DDRD = DDRD | 0xfc; устанавливает цифровые пины регистра D нв выход кроме 0 и 1. Команда PORTD = B1111100; устанавливает в 1 все цифровые пины регистра D в 1 кроме 0 и 1, а у меня устанавливается в 1 только 4 пин. Хотя если я работаю не с регистром, а digitalWrite(pin,HIGH) то все нормально со всеми пинами. Аналогично и для регистров B и С вот поэтому и обратился с вопросом. Еще раз нопомню, что с UNO все работает как часы, а вот с Pro Micro на Atmega32u4 при простом переносе программы с UNO все и встало!!!!
Вы сопоставьте выводы порта с пинами. Они разные на Уно и Микро.
А как? если Я хочу работать через регистры.
Тяжело...) https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/ProMicro16MHzv1.pdf
Действительно тяжело ...)) Повторюсь я работаю с регистром D а проверяю установку на всех пинах и результат ... Ну уж подскажи для совсем бестолковому.
Смотрим книгу - видим...
2,3 - заняты
5,6 - отсутствуют
4 - работает, осталось найти 7, не?
Удачи!
ноги, которые вас интересуют порта на Pro Micro на Atmega32u4 разведены подругому. Смотрите приложенную ранее ПДФку. Хотите работать с портом напрямую и что бы пины шли подряд, возьмите порт F.
A3 - PF4
A2 - PF5
A1 - PF6
A0 - PF7
Устанавливая PORTD = B1111100, вы ставие в 1 с 2 по 7 ногу порта, но на Pro Micro на Atmega32u4 разведены только 0,1,2,3,4,7 (5, 6 не разведены на выходы платы, 7 на другом пине, не на том котором Вы ожидаете)
После экспериметов со всеми известными регистрами составил таблицу соответствия бит регистров и ног. Теперь все получится. Спасибо за помощь.
После экспериметов со всеми известными регистрами составил таблицу соответствия бит регистров и ног. Теперь все получится. Спасибо за помощь.
Сам, небось, составил? Трудился долго? Малацца!
Кстати, я даже выяснил как зажечь/потушить RX, TX которые на плате.
И тоже методом тыка, небось?
И тоже методом тыка, небось?
Ну что вы, лабораторного эксперимента.))))
О сколько нам открытий чудных
Готовят просвещенья дух
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, бог изобретатель...
А.С Пушкин.