Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
А если перед этим была отправка данных? То есть n байт ушли, потом включили это прерывание.
Отправлено
Dikoy
17 января 2008 г. 15:56
В ответ на:
Да, если SEI (RETI) перед этим выполнялось
отправлено argus98 17 января 2008 г. 15:50
Составить ответ
|
Вернуться на конференцию
Ответы
Просто мне нужно понять, как работает чужая прошивка. Есть подозрение, что разрешением прерывания ещё и инициируют отправку данных.
—
Dikoy
(17.01.2008 15:59:59
87.244.18.26
,
пустое
)
Обычно так и делается - готовятся исходные данные для прерывания передатчика, затем включают передачу битом UDRIE
—
argus98
(17.01.2008 16:11:34
81.22.205.230
,
пустое
)
Запросто. Разрешаем прерывание + суём байт в УАРТ. Дальше уже в прерывании автоматически загружается следующий байт
—
-=Shura=-
(17.01.2008 16:02:30
217.21.50.43
,
пустое
)
Только лучше в другой последовательности imho(+)
—
Quasy
(17.01.2008 16:34:44
80.243.9.34
, 693 байт)
UDRE не любит шуток для случаев полудуплекса, например, при сопряжении с RS485 :)
—
Щ.C.
(17.01.2008 16:52:32
144.206.186.102
,
пустое
)
А не надо ничего в УАРТ совать, ISR после разрешения данного прервыания и первый байт анологично отправит, а блокировать, после факта отправки последнего, действительно, в теле этой самой ISR и нужно.
—
Щ.C.
(17.01.2008 16:29:26
144.206.186.102
,
пустое
)
Ну это смотря какой бит - Buffer Empty или Byte Sent, у MSP к примеру есть и тот и другой. Чтоб второй выставился надо сунуть, чтоб первый - не надо
—
-=Shura=-
(17.01.2008 16:34:8
217.21.50.43
,
пустое
)
А прерывание только по второму, Buffer Empty только поллингом
—
-=Shura=-
(17.01.2008 16:34:44
217.21.50.43
,
пустое
)
Дык, UDRE и есть UART Data Register Empty, но для AVR :)
—
Щ.C.
(17.01.2008 16:43:8
144.206.186.102
,
пустое
)
Ни разу не спорю, я для общего случая нопесал :-)
—
-=Shura=-
(17.01.2008 16:47:16
217.21.50.43
,
пустое
)
Похоже. Ибо в одном месте внутри прерывания оно запрещается. То есть как передача пакета закончена, всё глохнет.
—
Dikoy
(17.01.2008 16:09:21
87.244.18.26
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
при вычитании трёх из шести получится:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru