| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > UART и запись в порт |
| Автор: xelax 6.6.2006, 14:11 | ||
Такой ламерский вопрос. Передаю - принимаю данные через UART он же порт E пин 1-2 и тут (предположим в прерывании от таймера) мне необходимо изменить значение пина 4 порта E. Если я тупо
испортит ли мне это обмен через UART? Если да, то есть ли иные способы изменить значение пина? |
| Автор: PILOT 6.6.2006, 19:41 | ||
Объяснение правильное. В ассемблере правильно это будет выглядеть так (опять же, если пользоваться асмом, то вопросов не возникает
СУВ. |
| Автор: xelax 8.6.2006, 08:58 |
| А что собственно защёлкивается в этом регистре защёлок? Это первый вопрос. Получается таким образом что ли, разрешая UART, у порта E теряют свою функциональность два разряда. И порт E становится 6-разрядным ;)? Это второй вопрос. |
| Автор: PILOT 9.6.2006, 16:57 |
| Порты всегда 8-ми разрядные, только те выводы, которые используются как альтернативные не могут быть записаны. То что ты хочешь увидеть на порту ты записываешь в защелку, она хранит то что ты выдал в порт, а вот физическое состояние выводов порта можно получить считывая не Port, a PIN. СУВ. |
| Автор: Woodoo 14.6.2006, 01:20 |
| мой тебе совет: поставь авр студио - там все прекрасно можно проверить за пару минут! На счет портов (на сколько помню) - если ты используешь альтернативню функцию порта (в тваем случае - UART), то функция порта афтоматом отключается (вот точно не помню, патамучто в таймере1 для етого надо спец. биты выставлять, а в уарт вроде не надо). Это все можно прочитать в пдф на проц 8) . Да и вот, для разъясненее мелочей: при использованиии альтернативной ф-ции порта, не регистр DDRx, не регистр PORTx ни как не влияют на то что будет установлено ны ножке проца, т.е. чтобы ты не выводил в порт (твоё PORTE |= 0x10;) - никакого результата не даст. |
| Автор: xelax 14.6.2006, 09:32 |
| Всем откликнувшимся спасибо. Разобрался. Всё работает как надо ;) |