![]() |
![]() |
#61 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Практика показывает что память выдерживает 100000 циклов, к том уже ячеек памяти 1024, умрет одна ячейка, можно будет поменять адрес на другую ячейку.
Забыл написать, я выложил обещанный код работы с сервоприводом |
![]() |
![]() |
![]() |
#62 |
Junior Member
Регистрация: 08.04.2013
Сообщений: 9
Вес репутации: 0 ![]() |
![]()
Начал работать с встроенным UART и возникла такая проблема:
На роутере запускаю cat /dev/ttyATH0, он типа ждет пока что-то придет в порт Передаю в порт что-либо (например ttt), но на роутере на экране ничего не отображается, хотя в ответ на внешнее устройство приходит строка типа "@OpenWrt:/# /bin/ash ttt not found". И так отсылаю несколько раз, иногда с 5-го, иногда с 25 раза вдруг сообщения начинают отображаться на экране, в ответ строка "@OpenWrt:/# /bin/ash ttt not found" уже не приходит, т.е. все работает нормально. Прерываю и заново запускаю cat /dev/ttyATH0 - и опять нужно несоклько раз отослать на роуте пока не заработает. Т.к. в ответ наустройство приходит "@OpenWrt:/# /bin/ash ttt not found", то видимо сам порт работает и видит команды и отсылает обратно, ядро видит команды, реагирует на них, но вот операционка не видит их. Как будто роутер на время переключает режим работы порта на какой-то другой. Пробовал и через fread и через dio_read - не работает, раза с 20-го обрвыки читаются. |
![]() |
![]() |
![]() |
#63 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Цель ваших экспериментов?
|
![]() |
![]() |
![]() |
#64 |
Junior Member
Регистрация: 08.04.2013
Сообщений: 9
Вес репутации: 0 ![]() |
![]()
Хочу сделать управление с роутера своим контроллером. Пока контроллер управляет нагрузками 12 В (освещение) и 220 В (блоки питания, лампочки), снимает показания с ds19b20. Общение сделал через UART.
|
![]() |
![]() |
![]() |
#65 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
А вариант управления через Веб интерфейс не подойдет?
|
![]() |
![]() |
![]() |
#66 | |
Junior Member
Регистрация: 08.04.2013
Сообщений: 9
Вес репутации: 0 ![]() |
![]() Цитата:
Как придет USB-UART, так попробую через него, может так заработает. Да, у меня еще PHP перекомпилированный (для поддержки FREETYPE). Но вряд-ли дело в нем, т.к. даже cat /dev/ttyATH0 не работает так как нужно. Последний раз редактировалось Serega7411; 26.04.2013 в 12:28. |
|
![]() |
![]() |
![]() |
#67 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
А с какого устройства роутер принимает данные?
|
![]() |
![]() |
![]() |
#68 | |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Вы как то не ясно описываете что с чем стыкуете.
я так понимаю arduino (модель ?) -- uart <--> uart (ttyATH0) -- mr3020 Если это так, достаточно 3х проводов (Tx,Rx,GND при условии, что каждое устройство питается от своего источника питания). На вход роутера RX рекомендуется поставить делитель (или ограничивающий стабилитрон) для снижения уровня "1" до 3,3в т.к. ардуина имеет выход лог. "1" - 5в. Проверенный вариант, с "железным" UART портом ардуина работает без проблем. Нужно лишь единообразно инициализировать порты в ардуино и в роутере. Другой вариант это подсоединение ардуино через USB порт. Ардуино при этом будет получать и питание от роутера. На роутере в этом случае необходимо только установить драйвера для соответствующей версии МС USB-UART. Цитата:
|
|
![]() |
![]() |
![]() |
#69 |
Junior Member
Регистрация: 02.02.2013
Сообщений: 18
Вес репутации: 0 ![]() |
![]()
to Serega7411
Напишите подробнее схему соединения. И что куда, как и чем вы отправляеете в порт. Программу для Arduino приложите. Попробуйте Arduino через USB подключить. |
![]() |
![]() |
![]() |
#70 |
Junior Member
Регистрация: 08.04.2013
Сообщений: 9
Вес репутации: 0 ![]() |
![]()
Это функции чтения из порта в языке PHP.
Я выше указывал "/dev/ttyATH0" - это "железный" UART. Устройство - это мой контроллер на ATMEGA8. Так же проверялось с TI LounchPad (использовался для проверки с компа как переходник USB-UART подклася к компу через USB, а с него брался UART и подключался к роутеру). Т.е. проверялось 2-мя способами, результат один: 1) Мой контроллер UART - UART роутера. 2) Комп USB - USB TI LounchPad UART- UART роутера. На роутере инициализирую UART строкой stty -F /dev/ttyATH0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts На железном уровне все нормально, т.к. все что посылаю принимает, но сначала обрабатывает поступающие данные как команды роутеру (в ответ роутер возвращает по UART "@OpenWrt:/# /bin/ash ttt not found"). Через какое-то время роутер понимает, что его порт инициализировали на чтение данных stty, и начинает отрабатывать поступающие данные нормально. Как будто не сразу понимает что порт инициализирован stty. |
![]() |
![]() |
![]() |
Здесь присутствуют: 11 (пользователей: 0 , гостей: 11) | |
|
|