Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: одновременное использование I/O портов на AT89C5131
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
StasK
Если P1_0 настроен на выход таймера, то можно ли использовать P1_1 - P1_7 на запись/чтение? Не будет ли проблем с P1_0 при выполнении команды, например:
P1=0xff;
Может ли одновременно работать P1_0 на выход таймера, а P1_5, P1_6, P1_7 на SPI?
Спасибо.
kolobok0
Цитата(StasK @ Apr 22 2008, 08:35) *
Если P1_0 настроен на выход таймера, то можно ли использовать P1_1 - P1_7 на запись/чтение? Не будет ли проблем с P1_0 при выполнении команды, например:
P1=0xff;...


Что первое приходит на ум(запись) - это блокировать прерывания, читать порт, сохранение первого бита, писать, разблокировать...

чтение - тут вообще без гимора - просто читать из порта усе smile.gif игнорируя первый бит в дальнейшей логике.

с уважением
(круглый)
chds
Цитата(StasK @ Apr 22 2008, 07:35) *
Если P1_0 настроен на выход таймера, то можно ли использовать P1_1 - P1_7 на запись/чтение? Не будет ли проблем с P1_0 при выполнении команды, например:
P1=0xff;
Может ли одновременно работать P1_0 на выход таймера, а P1_5, P1_6, P1_7 на SPI?
Спасибо.


На сколько я помню, то на выход подается значение от альтернативной функции и PIO контроллера через ИЛИ, значит не очень хорошо может получиться.
В своей практике использовали подход такой, который не позволял обращаться к пинам используемым для альтернативной функции напрямую.
62256
Цитата(StasK @ Apr 22 2008, 07:35) *
Если P1_0 настроен на выход таймера, то можно ли использовать P1_1 - P1_7 на запись/чтение? Не будет ли проблем с P1_0 при выполнении команды, например:
P1=0xff;
Может ли одновременно работать P1_0 на выход таймера, а P1_5, P1_6, P1_7 на SPI?
Спасибо.


Запись 0xFF ничего не сделает плохого. Запись нолика придавит альтернативную функцию - будет постоянный ноль. То есть: или писать в порт байт с единицей на этом разряде, или работать с портом побитово.
Конкретно для SPI, имхо, и надо побитно работать - установка бита быстрее установки байта, а конкретно данные - так вообще значительно быстрее сдвинуть аккумулятор в перенос и перенос скопировать в ногу, чем двигать аккумулятор, маскировать, и потом писать в порт.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.