У вменяемого будет одно чтение. Подумайте - как. Там всё просто.[/uquote]
На всякий случай уточню, а то вдруг действительно безголовый ) Один и тот же код из примитивных макросов будет читать один раз из GPIOx->IDR если все пины с одного порта, но будет читать 3 раза, если порты все разные, в остальных случаях будет 2 чтения? Как он это будет делать не сравнивая порты друг с другом, раз уж ты не понимаешь что нужно сравнивать? )
ps. Ага, мы битман портов вручную создаем и он будет ассоциирован с нашими пинами? Громоздкий C++ это все автоматически при компиляции делает, мне такое даже с голову сразу не пришло ) Хотя все равно не понятно... Если пина 3, а порт 1, то в битмапе портов будет один порт, но читать все равно нужно не GPIOx->IDR, который volatile, а значение уже прочитанное из него. Нужен рабочий пример )


