![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
xelax |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 12.4.2005 Репутация: 0 Всего: 1 |
Такой ламерский вопрос. Передаю - принимаю данные через UART он же порт E пин 1-2 и тут (предположим в прерывании от таймера) мне необходимо изменить значение пина 4 порта E. Если я тупо
испортит ли мне это обмен через UART? Если да, то есть ли иные способы изменить значение пина? |
|||
|
||||
ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
Выполнение данной команды по своему смыслу уже предполагает: выставление только пятого бита в порту. Ни один другой бит порта трогаться не будет. Если тебя терзают сомнения по поводу того, что чип сначала должон прочитать порт, потом изменить, а потом записать, то можешь быть спокоен: каждому порту должен соответствовать регистр защёлок, который не зависит от того, какой уровень в данный момент на самом порту есть. Чтение производится как раз от туда. |
|||
|
||||
PILOT |
|
|||
![]() производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Объяснение правильное. В ассемблере правильно это будет выглядеть так (опять же, если пользоваться асмом, то вопросов не возникает
![]()
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
xelax |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 12.4.2005 Репутация: 0 Всего: 1 |
А что собственно защёлкивается в этом регистре защёлок?
Это первый вопрос. Получается таким образом что ли, разрешая UART, у порта E теряют свою функциональность два разряда. И порт E становится 6-разрядным ;)? Это второй вопрос. Это сообщение отредактировал(а) xelax - 8.6.2006, 08:59 |
|||
|
||||
PILOT |
|
|||
![]() производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Порты всегда 8-ми разрядные, только те выводы, которые используются как альтернативные не могут быть записаны.
То что ты хочешь увидеть на порту ты записываешь в защелку, она хранит то что ты выдал в порт, а вот физическое состояние выводов порта можно получить считывая не Port, a PIN. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
Woodoo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 13.6.2006 Где: Севастополь || Ял та Репутация: нет Всего: нет |
мой тебе совет: поставь авр студио - там все прекрасно можно проверить за пару минут!
На счет портов (на сколько помню) - если ты используешь альтернативню функцию порта (в тваем случае - UART), то функция порта афтоматом отключается (вот точно не помню, патамучто в таймере1 для етого надо спец. биты выставлять, а в уарт вроде не надо). Это все можно прочитать в пдф на проц 8) . Да и вот, для разъясненее мелочей: при использованиии альтернативной ф-ции порта, не регистр DDRx, не регистр PORTx ни как не влияют на то что будет установлено ны ножке проца, т.е. чтобы ты не выводил в порт (твоё PORTE |= 0x10;) - никакого результата не даст. |
|||
|
||||
xelax |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 12.4.2005 Репутация: 0 Всего: 1 |
Всем откликнувшимся спасибо. Разобрался. Всё работает как надо ;)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |