Вверх ↑
Этот топик читают: Гость
Ответов: 175
Рейтинг: 3
#1: 2017-07-29 15:54:27 ЛС | профиль | цитата
Привет всем, столкнулся с такой ситуацией хотел сделать робота управляемого через комп и используя сом порт так как ничего другого не имеется и так собрал ардуинку подключил питание и думаю а давайка я программку сделаю для начала и заставлю ардуинку что то делать использую собственную программу управления сделанную в hiasme в общем все подключил все сделал запустил программку отправлять данные все шикарно но вот когда я захотел от нее получить данные отправленные ей то в результате я получаю не понятно что, через монитор порта в программе Arduino все в порядке все как надо отображается а вот в моей программке не хочет я пробывал ковертировать данные в разные типы но что то ничего не получается, пожалуйста помогите разобраться как правильно принимать и отправлять данный arduino через com порт
вот программа



Add(Delete,11141188,343,196)
{
Count=3
link(onDelete,5608310:doValue,[])
link(Str,15271740:String,[])
}
Add(MainForm,2953706,42,35)
{
Width=620
Height=621
link(onDeactivate,7883304:In,[])
link(onCreate,932892:In,[])
}
Add(RichEdit,14402188,553,343)
{
Left=25
Top=55
Width=205
Height=530
}
Add(Edit,7689019,154,343)
{
Left=125
Top=15
Width=230
link(onEnter,1758540:doWrite,[])
}
Add(COMEX,1758540,399,336)
{
Port=2
StopBits=1
link(onRead,14402188:doAdd,[])
link(Port,8913:Var,[])
}
Add(EnumCOM,7811162,273,133)
{
link(onEnumPorts,15271740:doAdd,[])
}
Add(Hub,7444167,231,126)
{
link(onEvent1,15271740:doClear,[(255,132)(255,146)])
link(onEvent2,7811162:doEnumPorts,[])
}
Add(ComboBox,15271740,336,133)
{
Left=240
Top=45
Width=125
Height=21
link(onClick,13172461:In,[])
}
Add(Memory,5608310,399,196)
{
link(onData,3036277:In,[])
}
Add(LineBreak,691842,315,329)
{
Caption="connect"
link(Out,1758540:doOpen,[(384,335)(384,342)])
Primary=[3036277,126,-133]
}
Add(LineBreak,7832411,259,343)
{
Caption="close"
link(Out,1758540:doClose,[])
Primary=[7883304,-175,-301]
}
Add(LineBreak,15855028,154,126)
{
Caption="start"
link(Out,7444167:doEvent1,[])
Primary=[932892,0,-77]
}
Add(LineBreak,16281109,399,238)
{
Caption="NUM_com"
Type=1
link(Data,5608310:Value,[])
Primary=[8913,0,70]
}
Add(LineBreak,7560633,294,196)
{
Caption="sel"
link(Out,11141188:doDelete,[])
Primary=[13172461,84,-56]
}
вот исходник для ардуино он простой для проверки


void setup() {
Serial.begin(9600);
}


void loop() {
while (Serial.available() == 0);

int val = Serial.read() - '0';

// отсылаем то, что получили

Serial.println(val);
}
вот скрин

это моя программа http://prntscr.com/g1skko
а это среда arduini http://prntscr.com/g1slay

Редактировалось 3 раз(а), последний 2017-07-29 16:41:54
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 16884
Рейтинг: 1237
#2: 2017-07-29 16:14:41 ЛС | профиль | цитата
За 6 лет на форуме не научиться пользоваться тегами code - это надо очень постараться.
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8607
Рейтинг: 800
#3: 2017-07-29 16:23:25 ЛС | профиль | цитата
hin4, COM порт посылает и принимает БАЙТЫ. Каждому БАЙТУ соответствует свой символ в тексте, который вы набираете в Edit или принимаете в RichEdit (некоторые байты не могут быть отражены в виде печатных символов ни там, ни там). Вот они, кроме не отражаемых:
Символы


Add(MainForm,2953706,126,147)
{
link(onCreate,7342157:doFor,[])
}
Add(StringTable,7605251,322,161)
{
Left=60
Top=10
Width=155
Height=240
Columns=#7:Байт=60|9:Символ=60|
Grid=0
}
Add(For,7342157,182,161)
{
End=255
link(onEvent,13584171:doConvert,[])
}
Add(StrCatDelim,3279212,273,161)
{
Delimiter=";"
link(onStrCatDlm,7605251:doAdd,[])
link(Str1,7342157:Position,[(279,152)(265,152)(265,201)(188,201)])
}
Add(Convertor,13584171,224,161)
{
Mode=4
link(onResult,3279212:doStrCatDlm,[])
}

(Выкладывайте СХЕМЫ в теги Code)
карма: 18

0
Ответов: 138
Рейтинг: 2
#4: 2017-07-29 20:44:37 ЛС | профиль | цитата

Add(MainForm,2953706,21,105)
{
}
Add(Edit,5824190,168,210)
{
Left=5
Top=25
Width=285
Text="Данные в порт "
link(onEnter,8372962:doWork2,[(212,223)(212,216)])
}
Add(Memo,7064810,413,189)
{
Left=5
Top=55
Width=375
Height=190
Strings=#15:Данные из порта|
AddType=1
ScrollBars=3
ReadOnly=0
}
Add(Edit,5125060,259,70)
{
Left=5
Top=5
Width=85
Text="Порт"
}
Add(ButtonRush,2399426,126,287)
{
Left=290
Top=25
Caption="Send"
Glyphs=[]
link(onClick,6320366:doData,[])
}
Add(DoData,6320366,168,287)
{
link(onEventData,8372962:doWork3,[(228,293)])
link(Data,5824190:Text,[])
}
Add(HubEx,8372962,224,210)
{
link(onEvent,10291952:doWrite,[(244,216)(244,153)])
}
Add(Button,12553734,154,105)
{
Left=100
Top=5
Width=70
Caption="Open port"
link(onClick,10291952:doOpen,[(222,111)(222,139)])
}
Add(Button,12979374,154,140)
{
Left=185
Top=5
Width=80
Caption="Close port"
link(onClick,10291952:doClose,[])
}
Add(ChangeMon,129213,336,189)
{
link(onData,7064810:doAdd,[])
}
Add(COMEX,10291952,259,133)
{
link(onRead,129213:doData,[(313,146)(313,195)])
link(Port,5125060:Text,[])
}


В COMEX есть параметр databits
он должен совпадать с настройками драйверами ардуинки
Параметр Биты данных
карма: 0
私はアニメが大好き
0
Ответов: 175
Рейтинг: 3
#5: 2017-07-29 20:54:13 ЛС | профиль | цитата
спасибо большое я запустил и и отправил данные в порт "1" data bits 8

Редактировалось 3 раз(а), последний 2017-07-29 20:59:55
карма: 0

0
Ответов: 138
Рейтинг: 2
#6: 2017-07-29 21:05:40 ЛС | профиль | цитата
hin4 писал(а):
я запустил и и отправил данные в порт "1" http://prntscr.com/g1vc7r

void setup() {
Serial.begin(9600);
}

void loop() {
for (int i=0; i <= 10; i++)
{
Serial.print(i);
delay(2000);
}

}

Залей это в ардуинку и пробуй

Редактировалось 1 раз(а), последний 2017-07-29 21:06:59
карма: 0
私はアニメが大好き
0
Ответов: 175
Рейтинг: 3
#7: 2017-07-29 21:26:00 ЛС | профиль | цитата
ардуинка отвечает отправляет 123456....
карма: 0

0
Ответов: 138
Рейтинг: 2
#8: 2017-07-30 18:06:27 ЛС | профиль | цитата
ну вот и прекрасно!
карма: 0
私はアニメが大好き
0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)