ATmega8535. Проблеммы с U[S]ART.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
buffo 18 августа 2004 г. 02:19
|
|
|
|
Такая проблемма. МК ATmega8535, не получается запустить UART. Инициализация вроде бы проходит нормально, на запрещенных прирываниях. При инициализации разрешаю прерывание на прием фрэйма (бит RXCIE). Сразу как разрешаются голобальные прерывания, МК улетает в прерывание UARTа по приему фрэйма и потом в него входит постоянно, только вышел.. и почти сразу вошел снова. От этого МК отчетливо тормозит, ну еще бы :). Если в начале отработчика прерывания поставить кусок кода который выгребает данные из регистра данных (UDR), то все начинает летать, правда тогда от обработчика никакой пользы, работает вхолостую. До этого программа работала на AT90S8535, вроде бы без замечаний, а тут такое, не получается переложить код под новый МК. Возможно я не внимательно читал пдф-ку, может быть, но все же, если кто знает, то подскажите. Спасибо.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- в продолжение — buffo (18.08.2004 20:27, 833 байт)
- Читай описалово, флаг прерывания не сброситься пока данные не прочтеш. — PeterD (18.08.2004 17:06, 431 байт)
- Для начала попробуйте mega8535 с fuse S8535C режима совместимости, — Щ.С. (18.08.2004 11:17, 87 байт)
- Ответ: — Olegovich (18.08.2004 10:53, 291 байт)
- правильно инициализируй — Богданов С.А. (18.08.2004 10:36, 442 байт)
- Извините за вопрос, но просто очень интересно зачем нужно прерывание как не для того чтоб выгребать данные из UDR? — F8 (18.08.2004 09:03, пустое)
- их и нужно выгребать (+) — DASM (18.08.2004 03:15, 225 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru