Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с UART в LPC2378 в связки с терминалом
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
TanT
Пробую работать с UARTом, задача передать из терминала (PCOMM, HyperTerminal и т.п.) файл. При посимвольном вводе данных с клавиатуры всё в порядке. При передачи файла UART выдаёт каждый второй символ (пример. файл: 1234567890, получаю 24680).
P.S. если передовать посылки типа 123, то приходит 23, а при передаче 1234, только 24. аналогично 12345 -> 245 и 123456 -> 246
Dog Pawlowa
Цитата(TanT @ Oct 8 2008, 10:34) *
Пробую работать с UARTом, задача передать из терминала (PCOMM, HyperTerminal и т.п.) файл. При посимвольном вводе данных с клавиатуры всё в порядке. При передачи файла UART выдаёт каждый второй символ (пример. файл: 1234567890, получаю 24680).
P.S. если передовать посылки типа 123, то приходит 23, а при передаче 1234, только 24. аналогично 12345 -> 245 и 123456 -> 246

Опрашивать нужно чаще. Или реже отправлять.
TanT
Вся идея заключалось в передаче файла в LPC используя терминалку. Скорость ставил самую малую, но всё одно sad.gif . Как опрашивать чаще? Сейчас всё что появилось в буфере сразу выбрасывается на передачу. Но как было установленно, появляется не всё.
Сергей Борщ
Цитата(TanT @ Oct 8 2008, 11:27) *
Сейчас всё что появилось в буфере сразу выбрасывается на передачу. Но как было установленно, появляется не всё.
Показывайте код.
Alex03
Может читаете регистр данных дважды?
В любом случае экстрасенсов нет, приведите код.
TanT
Код элементарный,

while(1)
{
while (U0LSR_bit.DR!=0)
{
U0THR=U0RBR;
}
}

в нём ошибок нет, хотя нет строчки проверки переполнения передающего буфера.
Ошибка была в другом месте. Сам я ещё молод и зелен, поэтому пользуюсь для старта чужими исходниками, так вот там для регистров UART были созданы ряд структур описания битов.
Заменил их (в соответствии с мануалом конфигурил) и всё заработало. Был не верно настроен регистр U0LCR управления линией. Опытным путём было доказанно, что он был законфигурён на 5М1, при настройках терминала 8N1. Побаловался с настройками в терминале - иногда паразительные варианты выдаёт без всякого мусора просто глотает байты.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.