Пытаюсь получить сингал который передаётся от arduino на PC по UART (USB)
Пытаюсь получить а получаю какую-то адскую ёбань. Я прошерстил ни одну статью по тому что и как передаётся в UARTе, но то что у меня, это непостижимо моим умом.
Кто шарит за передачу данных или сталкивался с этим, прошу помогите, я осциллограф вообще первый раз использую.
Осциллограф подключён следующим образом. CH1 между землёй и зелёным пином , CH2 между землёй и белым пином USB.
Само usb идёт от компьютера (в заднюю панель) к arduino due (programming port), в середине есть вот такая распайка, что бы можно было приконектиться щупами. Скорость передачи стоит 9600bod.
Должно быть вот так .
Вот осциллограмма получаемая с Атакома АСК-2035 (взял его что бы исключить вариант, в котором usb осциллограф - портит).
Передаю я здесь... ничего. Просто цикл в котором ничего не происходит. Но как видим некие сигналы передаются.
Вот осциллограмма с USB осциллографа Hantek6022BE. (параметры взял те же что и на атакоме, для наглядности. но опять таки что это за такие сигналы я никак не могу понять. Где тут вычленить байт вообще не ясно.
Тут я поменял параметры отображения и вывожу байт (от 0 до 255) с каждым выводом увеличивая его.
поставил такие временные промежутки что бы сравнить с одним человеком из статьи по работе с UART у него это выглядело такЕсли выставить 500us то картина будет выглядеть вот так. Где тут мой байт, чёрт знает.
Я также пробовал подключиться к ntive port arduino due и там картина выглядела следующим образом. По моим расчётам тут показан интервал (от края до края) в 1ms и за это время должно передаться примерно 10 бит. Опять таки вопрос, где тут 10 бит?
При этом всё передаётся на компьютер и serialPort в arduinoIDE сообщает что всё выводится.
Я совсем не пойму в чём дело.
Подробнее
Receptacle (F) Розетка Plug (M) Вилка
передача байта » Г"- со ю со см о г 4 Р 4 ► 4 ► / \ \ / ожидание стартовый бит биты данных стоп бит
Ifllél»IXJ imrmiindwm ШНШНвзм/», UflMRMWII 0S W П00 ■ I ......тщ/Ё/щй iWÍ-t'Wd-Xd u no ЮЯОЧС10А 3*“( ílu 'H Л00>Л9 llUHlUllifíiHi '""IIIIIIIIIIIIIIIH nys Hini * 1 *l| ’"Mil ими ■ НИН Il |1НН|1ИЩШу|||. sum, Il lllliMliiâii. " «•MIIIIIIIIII
0 beta PR16c Zoom: 1 nel Trigger Horizontal Cursor Display Acquire Utility ~ a ¡a o o A fflQ® _____I-----1----1-----1-----1----1-----1---~ T------. Ofl - 2.00V CH2 - 2.00V TR1 - O.Omv TR2 - O.Omv; о X Horizontal Time/DlV 500.0ns V Format YT V AC Couple* □ Invert ACCouple* I I Invert Trigger Trigger Mode Trigger Sweep Trigger Source Trigger Slope здел "Параметры Edge V Automatic V Channel One V Rising V
STOP j Hfflov Horizontal > Time/DlV 100. Ous Format YT ^ AC Couple* □ Invert AC Couple* | | Invert
У Сигнал 11АРТ на экране осциллографа. Виден старт бит данные и стоповый бит Спасибо @01НА1_Тза картинку
■B upenouzzoc vi.u Deia Kruoczoom: i File View Channel Trigger Horizontal Cursor Display Acquire Utility Help B ¡3 O O 5 STOP I—r Horizontal Time/DlV 500. Ous Format YT v xl AC Couple* Invert Probe Vertical 0 Enabled CHI Volt/DIV 2.00 V v 0 Enabled CH2 v AC Couple* | | Invert
llfflë/UW 100.Ous Format Vertical PI Enabled CH1 □ AC Couple x □ Invert 0 Enabled CH2 v Volt/DIV 200mV ^ Probe xl v AC Couple* Invert
Output Serial Monitor x IIH o » Message (Ctrl + Enter to send message to 'Arduino Due (Native USB Port)’ on ’COM3') New Line w 9600 baud LJLJLJ1—11—JL-I—K—11—11—JL-I—lt—K—II—JLJLJt—K—I 1 "«<4 ' “t,-./ UliJIOO 1021 üniUrUJMIürVRO 1 U VOTA. X £. L \J CLUL;UCJ.ynXJ JllUIlUpqiSLUVWXyZ l I J ~UL ITTTTTTTTTTTTTTTTTD !"#$%&'()*+,-• /0123456789: ;<=>?0ABCDEFGHIJKLMNOPQRSTOVWXYZ [\] A_'abcdefghijklmnopqrstuvwxyz { | }-□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ITTTTTTTTTTTTTTTTTD !"#$%&'()*+,-•/0123456789: ;<=>?0ABCDEFGHIJKLMNOPQRSTOVWXYZ[\]abcdefghijklmnopqrstuvwxyz{|}-DŒIIDIIIIDIimmilcmilcmiOim^ ITTTTTTTTTTTTTTTTTD !"#$%&'()*+,-• /0123456789 : ; <=>?0ABCDEFGHI JKLMNOPQRSTOVWXYZ [\] ~_' abcdef ghi j klmnopqrstuvwxyz { | } -DŒIIDIIIIDIimmilcmilcmiOim^ ITTTTTTTTTTTTTTTTTD !"#$%&'()*+,-•/0123456789: ;<=>?0ABCDEFGHIJKLMNOPQRSTOVWXYZ[\]~_'abcdefghijklmnopqrstuvwxyz{|}-DŒIIDIIIIDIimmilcmilcmiOim^ ITTTTTTTTTTTTTTTTTD !"#$%&' ()*+,-./0123456789: ;<=>?0ABCDEFGHIJKLMNOPQRSTOVWXYZ[\]A_'abcdefghijklmnopqrstuvwxyz{|} (IDDGDDDDGDOŒlGCDŒi !"#$%&'()*+,-•/0123456789: ;<=>?0ABCDEFGHIJKLMNOPQRSTOVWXYZ[\] A *abcdefghijklmnopqrstuvwxyz{|}~DDDDDnnDDnnnDDnnnDDnnnDDnnnDDnnnDDnnnDDnnnDDnnnDDnnnDDnnnDDDnDDDDnDDDDnDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[ I nX^O r « / \ //M O O A r nnn . _ TT/T inT^nAnrTrTTTT.TVir*? r\ 1 A
реактор помоги,электроника,песочница,пидоры помогите,реактор помоги
На осциллограмме видно, что щупы не откалиброванные, от чего может у тебя появляться сомнения в том, почему это не ровная полка. (На добавленной картинке я обвел красным). Попробуй откалибровать щупы.
А размышляя над вопросом о том, почему ты не чего не отправляешь и при этом что-то видишь на порту, подозреваю, что он отправляет сообщения Arduino IDE или служебную инфу для компа. По типо Keep Alive.
Или ты на МК поднял USB и пытаешься в него данные слать?
UART - протокол, это способ общения, без описания физической состовляющей.
Нюанс в том, что в стандарте USB прописан и протокол общения по интерфейсу USB. И это не UART.
С другой стороны - UART имеет свои, привычные, физические интерфесы - rs232, rs485, 5v TTL и т.п.
В ардуинах обычно есть микросхема, которая преобразует протоколы UART/USB - тебе нужно ловить UART сигнал на дорожке между этой микросхемой и контроллером.
За преобразование протоколов USB<->UART, а так же за все функции отладки отвечает микросхема IC6 - маленькая AT-MEGA расположенная недалеко от отладочного USB разъёма.
От неё череза схему согласования дорожки RX и TX идут на SIP-разъём, на контакты 0->RXD и 1<-RXD
От разъёма дорожки идут уже на AT91SAM3X8E
Тебе нужно встать крокодилом на любой GND-вывод или схватиться за корпус любого USB разъёма, а щупом встать на выводы 0->RXD илил 1<-RXD
На 0->RXD будут данные от компьютера к контроллеру
На 1<-RXD - от контроллера к компьютеру
Пиздос как много знать надо, моск кипит
Берешь один провод тыкаешь в то, что подписано на плате как TX0(нижний ряд на фото) это то, что ардуина отправляет на комп.
Второй провод тыкаешь в то, что подписано RX0. Это то, что ардуина отправляет на комп.
Третий провод тыкаешь в gnd.