Jump to content
Sign in to follow this  
Guest tonich

Не Могу Настроить Связь С Serial Роутера По Uart С Arduino

Recommended Posts

Guest tonich

Здравствуйте!

Необходимо настроить связь роутера Dlink DIR-300 через serial с Arduino.

Уровни сигналов TTL 3.7V с платы роутера коммутируются с помощью MAX3232. Тестером на выходе видно около 5 Вольт.

Через терминалку (на 9600,8n1) настольный комп читает лог загрузки роутера из его сериала нормально.

Мне нужно принимать сигналы с сериала на uart Arduino nano v5.

Приходит же сплошной мусор, хотя он приходит исправно.

Вот, на всяк.случай код Arduino IDE 1.0

#include <SoftwareSerial.h>

SoftwareSerial comSerial(4,5);

void setup()
{

comSerial.begin(9600);

}

void loop()

{

if (comSerial.available())
{

  {
  char comByte = comSerial.read();
  Serial.println(comByte);
  }

}

При этом, около месяца назад я пробовал эту же операцию с теми же железками и их настройками, и сходу все заработало(!), хоть и с ошибками (~10%) в приеме.

Сейчас же никак не могу повторить эту простую ситуацию, подскажите пожалуйста, где здесь можно поскать ошибку ?!

Edited by admin
Тэгом code не учили пользоваться?

Share this post


Link to post
Share on other sites

Во первых попробуй библиотеку NewSoftSerial

Мне нужно принимать сигналы с сериала на uart Arduino nano v5.

Ты же не на UART порты принимаешь, а на обычные пины. UART порты это 0, 1.

И что за NANO v5? Не слышал о такой, слышал только v3.

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

Уровни сигналов TTL 3.7V с платы роутера коммутируются с помощью MAX3232. Тестером на выходе видно около 5 Вольт.

А логические уровни на выходе роутера и на входе UART совпадают? После MAX3232 инверторы стоят?..

Share this post


Link to post
Share on other sites

Запускаем новый BLE 5.2-чип BlueNRG-LP от STMicroelectronics

Любая разработка начинается с чтения документации и изучения доступных средств разработки. Данный материал целиком посвящен средствам разработки, включая детальные инструкции по запуску вашего первого приложения на BlueNRG-LP. Описана работа с отладкой STEVAL-IDB011V1, набором инструментов и пакетом ПО позволяющим разработчику быстро войти в курс дела.

Подробнее

Guest Tonich

Во первых попробуй библиотеку NewSoftSerial

Ты же не на UART порты принимаешь, а на обычные пины. UART порты это 0, 1.

И что за NANO v5? Не слышал о такой, слышал только v3.

#include <SoftwareSerial.h> - Это ведь и есть NewSoftSerial включенный в ядро с 1.0 версии IDE.

Nano v3 - sorry, описался. На 0,1 там хардварный UART, а я на 4,5 второй открываю.

Share this post


Link to post
Share on other sites

Революция в силовой электронике. Начало

Что привлекает в SiC по сравнению с кремнием, и какие особенности делают компоненты SiC часто используемыми, несмотря на более высокую стоимость в сравнении с кремниевыми высоковольтными устройствами? – Объясняет специалист ведущего разработчика силовых приборов из карбида кремния, компании Infineon.

Подробнее

Материалы вебинара Практическое использование TrustZone в STM32L5

Материалы вебинара, посвященного экосистеме безопасности и возможностях, которые дает новая технология TrustZone в МК STM32L5, содержат две подробные практические работы: создание простого приложения с изоляцией в TrustZone, и пример отладки и тестирования TFM-SBSFU. Программа рассчитана на технических специалистов и тех, кто уже знаком с основами защиты ПО в STM32.

Подробнее

Guest Tonich
Уровни сигналов TTL 3.7V с платы роутера коммутируются с помощью MAX3232. Тестером на выходе видно около 5 Вольт.

А логические уровни на выходе роутера и на входе UART совпадают? После MAX3232 инверторы стоят?..

А что там должно инвертировать после max3232 ? Да и ведь COM десктопа под winxp читает же, почему Arduino не может ??

Share this post


Link to post
Share on other sites

На COM десктопа уровни rs-232, а на uart ATmega328 ttl/cmos. И с роутера тоже ttl/cmos.

Можно попробовать просто тремя проводками соединить, атмега должна 3,7В понять. Ну или через буфер (74HC244), для очистки совести...

Share this post


Link to post
Share on other sites
Guest Tonich

На COM десктопа уровни rs-232, а на uart ATmega328 ttl/cmos. И с роутера тоже ttl/cmos.

Так у меня же max3232 с 3.7 до 5 V коммутирует (и именно 5V на com-порте компьютера принимается нормально) .

Как мне на arduino то принять данные ?

Share this post


Link to post
Share on other sites
Guest Tonich

Можно попробовать просто тремя проводками соединить, атмега должна 3,7В понять. Ну или через буфер (74HC244), для очистки совести...

Так в начале пробовал - не получается.

Share this post


Link to post
Share on other sites

max3232 преобразует уровни TTL в уровни RS-232 с инверсией. Т.е. когда на входе TTL лог.1 (+3,7В) на выходе будет +5В, когда на входе лог.0, на выходе -5В (минус 5В). А на uart контроллера нужно TTL уровни подавать.

Share this post


Link to post
Share on other sites
Guest Tonich

max3232 преобразует уровни TTL в уровни RS-232 с инверсией. Т.е. когда на входе TTL лог.1 (+3,7В) на выходе будет +5В, когда на входе лог.0, на выходе -5В (минус 5В). А на uart контроллера нужно TTL уровни подавать.

max3232 преобразует уровни TTL в уровни RS-232 с инверсией. Т.е. когда на входе TTL лог.1 (+3,7В) на выходе будет +5В, когда на входе лог.0, на выходе -5В (минус 5В). А на uart контроллера нужно TTL уровни подавать.

Спасибо за разъяснение, но как же тогда в начале моих экспериментов Arduino все-таки удавалось считывать лог загрузки роутера уже с max3232 между ними ? Возможно ли здесь какое-либо объяснение ?

Share this post


Link to post
Share on other sites
Guest Tonich

Возможно внутренние подтягивающие резисторы повлияли...

Так а как бы мне повторить этот успех ? Не хочется уж больно max3232 выковыривать, да и универсальный port для COM/UART хотелось бы иметь, раз сейчас COM функционирует.

Share this post


Link to post
Share on other sites

На случайный успех не надо надеяться. Тем более

с ошибками (~10%) в приеме.

это, по моему мнению, только доказывает случайность...

С буферами 74HC244 тоже не идёт?

Share this post


Link to post
Share on other sites
Guest Tonich

На случайный успех не надо надеяться. Тем более

с ошибками (~10%) в приеме.

это, по моему мнению, только доказывает случайность...

С буферами 74HC244 тоже не идёт?

Буфера нет под рукой попробовать. Буду пробовать напрямую от 3,7V.

Кстати, не подскажите, а сторочки в логе загрузки роутера оканчиваются 0x0D или 0X0D0A ??

Share this post


Link to post
Share on other sites

Там вроде линукс в качестве ОС, значит должно быть 0x0A (LF). Но лучше конечно проверить.

Share this post


Link to post
Share on other sites
Guest Tonich

Все заработало от 3.7 B напрямую, перемудрил я чего-то с начала. А строчки заканчивает он на #0D0A.

Спасибо за советы.

Share this post


Link to post
Share on other sites
Guest guest

А можно поподробнее, как получилось сделать (для совсем чайников)? Тоже хочется напрямую с роутера (tplink mr3020) на ардуино - чем проще по железу - тем лучше.

Share this post


Link to post
Share on other sites
Guest Гость

В роутере как и в ардуино ТТЛ уровни, поэтому можно напрямую, а вот если хочешь соеденить роутер и комп то нужно ставить max3232 на стороне роутера, чтобы ТТЛ уровни превратить в рс232

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

  • Similar Content

    • Guest Userr
      By Guest Userr
      Приветствую! Есть вопрос, никак сам не могу понять в чем дело.
      Есть девайсы с FT232RL которые нормально работают на моем домашнем ПК, на ноутбуках, проверено  еще на нескольких ПК и т.д.
      Иногда под эти девайсы собираются новые ПК и в 100% случаев на новых ПК с устройствами проблемы с определением. Windows выдает сообщение "устройство не опознано", в диспетчере устройств видится как "uncknown device". При этом если переподключать несколько раз, то можно добиться того что винда все же увидит и подцепит виртуальный порт. И так кажыдй раз на новом ПК, на разных материнках, на разной 7ке и на 10ке. Были материнки от трех разных производителей, процы интел разных линеек, . сокеты и 1150 и 1151, сотвественно и чипсеты разные...
      Если подключать через пассивный USB концентратор то девайс начинает определяться в 100% случаев...
       
      Может кто уже сталкивался с таким? 
    • By cxem2
      USB(CH340T) KKL VAG COM 409.1

      Драйвер:
      DOC:
    • By Ivan_Tyurin
      Здравствуйте. Недавно решил перейти с моделек в Протеус на реальный МК. Купил "Ready for AVR Board" ( http://www.mikroe.com/ready/avr/ ) с Atmega16. На плате есть уже встроенный FTDI FT232 и выход на USB для прошивки с помощью mikroBootLoader с сайта разработчиков.
      Установил драйвера с сайта FTDI. Плата, подключенная через USB, успешно отображается как подключение к COM порту.
      Всё по инструкции: http://www.mikroe.co...manual_v101.pdf . Запускаю mikroBootLoader, выбираю COM-порт. Жму RESET на схеме, жму Conntct в бутлоадере. Ответ: "Disconnected".
      Перебирал разные BaudRate. Ничего не помогает.
      Ноут ASUS X550 с Windows 8.1 x64.
      Подскажите, что может быть не так? Может какие другие загрузчики попробовать?
    • Guest Илья
      By Guest Илья
      Здравствуйте! Помогите мне пожалуйста в одном вопросе.
      В устройстве реализован интерфейс USB на FT232R. Он нужен для передачи накопленной устройством информации на компьютер. Проблема заключается в том, что само устройство питается от аккумуляторов, там стоят DC-DC преобразователи, подающие преобразованное от аккумуляторов напряжение (3.3 В) на остальную схему. FT232R подключена к микроконтроллеру по UART.
      Теперь вопрос. Как мне развязать питание шины USB (от компьютера) с внутренним питанием моей схемы, чтобы ничего не конфликтовало? И хотелось бы, чтобы при подключении USB вся схема запитывалась от него. Как вообще это реализуют на практике? Заранее спасибо Вам за ответы
    • By kuzmich
      Привет всем! Отличие моего набора от оригинала Usb-rs232 cделан не на меге8u,а на ft232.Не заливаються скетчи ни какими методами Ft232 проверил рабочая, Мегу328 тоже прогу залил через программатор мигалку светодиодами.Потом опять залил то что там было. Я так предпологаю загрузчик и мигание на 13 ноге. При попытке залить скеч Blink с примера программы выдаёт avrdude:STK500_getsynk(): not in sync: resp=0x00 При передаче мигает светодиод rx ft323 затем всё тухнет и после вылазиния ошибки начинает мигать светодиод на 13 ноге по умолчанию но при заливке скетча он перестает мигать. Кто подскажет как залить скетч?
×
×
  • Create New...