Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
UART + DMA
Leon_55
Добавлено 07.04.2016 14:34
0
Сообщение: 1
Leon_55
0

Пункты: 215
Регистрация: 11.10.2013
Здравствуйте моя плата SK-AT91SAM9G45 с ядром 2.6.36 -rs6, ешё наложен патч rt.
Возникла проблема при передаче по UART на скорости 115200 пакета из 6 байт на другое устройство, в ответ должно быть получено 3 байта в ответном сообщении. На логическом анализаторе видно что, в ответ приходит 3 байта все нормально, но в файловом дескрипторе вылавливается только последний 3-й байт.
Время между концом моего пакета и началом ответного сообщения 0,1ms, а третий байт приходит ещё через + 0,2ms. Для того чтобы принять полностью ответное сообщение как вариант можно к UART прикрутить DMA и как это сделать, ведь поддержка DMA у UART даташите имеется.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 07.04.2016 15:08 Сообщение: 2
sasamy
4.71

Пункты: 83552
Регистрация: 14.08.2009
По-моему просто termios неправильно настроен и первые байты как управляющие символы воспринимаются

Цитата

можно к UART прикрутить DMA и как это сделать


DMA используется по умолчанию

-> Device Drivers
-> Character devices
-> Serial drivers
[*] AT91 / AT32 on-chip serial port support
[*] Support for console on AT91 / AT32 serial port
[*] Support DMA transfers on AT91 / AT32 serial port
Спуститься к концу Подняться к началу
Персональная информация
Leon_55
Добавлено 12.04.2016 08:45 Сообщение: 3
Leon_55
0

Пункты: 215
Регистрация: 11.10.2013
Наконец понял в чем дело оказывается нужно было выставить одинарный стоп бит.
Помогло вот это:
options.c_cflag &= ~CSTOPB;
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux