реклама на сайте
подробности

 
 
> linux & cp210x
nik.laus
сообщение Jul 1 2009, 09:29
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 13-10-08
Пользователь №: 40 908



Доброго времени суток, форумчане!

Есть чип от silabs cp2102. (К нему есть силабовский драйверы, которыми я не пользуюсь, потому что при некоторых обстоятельствах они вешают мне систему...)
Есть открытые драйверы в ядра линукса. cp210x.ko называеться модуль. Находиться в kernel-source/drivers/usb/serial/cp210x.c.

"Устройство" мое - это просто один cp2102 чип на плате и usb шнурочек. На чипе Rx и Tx запаяны между собой.
Тобишь, я в чип/порт/ttyUSB0 записываю что-то и это-же получаю (по идее).

Кто-то пользуеться этим драйвером, очень хочеться услышать как он работает у Вас, работает ли правильно.

Дело в том, что когда я записываю первый раз в порт - я получаю это же значение обратно. Для всех последующих попыток поведение не определено.
Возможные случаи - это вываливаеться полностью буфер, тоесть, я туда буквы "х", а мне обратно содржимое буфера чипа с буквой "х" на конце.
Или же он просто выдает перевод строки...

Функции чтения и записи в чип модуль использует стандартные (из файла generic.c) - это usbserial модуль.
я сделал modprobe usbserial debug=1 и понял, что после того, как я туда записываю символ "а", я его получаю обратно, но ведь потом
я (драйвер) пишет туда '\r' и получает... и так бесконечно, пока есть хоть один процесс, который читает из ttyUSB0.


Вопросы:
Это он только у меня так работает, или еще у когото???

Я понимаю (или думаю, что понимаю) что это где-то глюк в ядра... ведь у меня один чип с закорочеными Рх и Тх...
Может быть, надо чип сначала как-то настроить программой конфигурации последовательных портов, такой как minicom например???

Большое спасибо за время и внимение!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
nik.laus
сообщение Jul 6 2009, 14:45
Сообщение #2





Группа: Новичок
Сообщений: 11
Регистрация: 13-10-08
Пользователь №: 40 908



to sasamy:
читаю
Код
cat /dev/ttyUSB0

пишу
Код
cat > /dev/ttyUSB0 << EOF

с помощью echo что-то не получаеться.



патылся настроить чип как Вы советовали... stty -F /dev/ttyUSB0 raw
вот что выдает при stty ... -a

speed 115200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

попробовал на 9600, без результата : (

Последовательность моих действий:
Код
tail -f /var/log/kern.log | tee kern.log

в другом окне терминала
Код
cat /dev/ttyUSB0
- открываем и читаем из порта
Код
cat > /dev/ttyUSB0 << EOF
> hello world
> EOF
- записываем в порт (echo и echo -n не работали...)
В окне лога ядра я вижу, что в порт я записал, пижу, что я из него прочитал,
а также я еще вижу, что он туда еще что-то (символ возврата каретки '\r') записывает...
Потом читает.
Потом пустое туда пишет... и еще кучу непонятно чего туда валит, чего я не просил...

прикрепляю лог (kernlog.txt)

Может быть нужно еще какие-то настройки модемные поменять?

Заранее огромнейшее спасибо за внимание и советы.
Прикрепленные файлы
Прикрепленный файл  kernlog.txt ( 528.55 килобайт ) Кол-во скачиваний: 35
 
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 14th August 2025 - 02:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01337 секунд с 7
ELECTRONIX ©2004-2016