roboforum.ru

Технический форум по робототехнике.
Текущее время: 10 апр 2025, 19:46

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 18 авг 2011, 14:46 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Вот оно
Код:
#include <vcl.h>
#include <windows.h>
#include <stdio.h>
#pragma hdrstop

#include "Unit1.h"
unsigned char tx_buffer[3];
unsigned char rx_buffer[3];
unsigned char status_rx_buffer;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void Open_Port (char name)
{
char port_name[8];
sprintf(port_name, "COM%d", name);
hCom = CreateFile(port_name ,GENERIC_READ | GENERIC_WRITE,0,NULL,
OPEN_EXISTING,0, NULL);
if( hCom == INVALID_HANDLE_VALUE )
{
ShowMessage("Com port error");
CloseHandle(hCom);
}
else
{
SetupComm(hCom,128,128);
GetCommState(hCom, &dcb);
dcb.fOutxCtsFlow = FALSE;
dcb.fDtrControl = DTR_CONTROL_DISABLE;
dcb.fRtsControl = RTS_CONTROL_DISABLE;
dcb.fInX = FALSE;
dcb.fOutX = FALSE;

dcb.BaudRate = CBR_9600;
dcb.fBinary = TRUE;
dcb.fAbortOnError = FALSE;
dcb.fNull = FALSE;
dcb.ByteSize = 8;
dcb.fParity = NOPARITY;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
if (!SetCommState(hCom, &dcb))
{
CloseHandle(hCom);
ShowMessage("Com port error");
}

comm_timeouts.ReadIntervalTimeout = 5000;
comm_timeouts.ReadTotalTimeoutMultiplier = 5000;
comm_timeouts.ReadTotalTimeoutConstant = 5000;
comm_timeouts.WriteTotalTimeoutMultiplier = 5000;
comm_timeouts.WriteTotalTimeoutConstant =5000;
SetCommTimeouts(hCom, &comm_timeouts);

PurgeComm(hCom, PURGE_RXCLEAR);
PurgeComm(hCom, PURGE_TXCLEAR);
}
}
//--------------------------------------------------------------------------
void Close_Port(void)
{
CloseHandle(hCom);
}
//----------------------------------------------------------------------------

char Write_Port (unsigned char *buf, size_t raz)
{
DWORD dwWritten;
WriteFile(hCom,buf,raz,&dwWritten,NULL);
if(raz==dwWritten)
{return 1;}
else
{return 0;}
}

//-----------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (ComboBox1->ItemIndex==0)
{
ShowMessage("Select COM Port");
return;
}
else
{
Open_Port(ComboBox1->ItemIndex);
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close_Port();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
if (!hCom)
{
ShowMessage("First COM port connect");
return;
}
tx_buffer[0]=1;
tx_buffer[1]=3;
tx_buffer[2]=150;

if(Write_Port(tx_buffer,3)==false)
{ShowMessage("error write_port");}

}

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Последний раз редактировалось Vooon 18 авг 2011, 18:04, всего редактировалось 1 раз.
[code=cpp]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 18 авг 2011, 15:31 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Слуш, пихай целый буффер без всяких циклов и ищи проблему в терминале/протеусе. Как вариант попробуй сделать любой порт (например, блютуфный), и сериал-сниффером посмотреть что там улетает в порт у тебя. Либо протестируй настройки протеуса с каким-нибудь софтом заведомо рабочим, типа настрой puTTy на 9600 и проверь - работает ли.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 23 авг 2011, 19:33 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Спасибо dccharacter!
Подцепил к теминалу монитор ком порта и определил что врёт протез!
Терминал по тихоньку оживает. :)


Вложения:
2.JPG
2.JPG [ 51.29 КиБ | Просмотров: 3072 ]

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 25 авг 2011, 15:17 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
А еще, посмотрев на скриншот, хочу порекомендовать взять orfa-terminal, поставить себе QT и переться - там уже все сделано.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 25 авг 2011, 18:47 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Так не итересно)
Это пока только рулёжка,а потом туда автоматический режим приделаю.
Тем более, что в контроллере прошивка своя стоит дружить не будет. :pardon:

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 26 авг 2011, 19:40 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
у меня тоже свой протокол - я допиливал орфу под работу с ТСП/ИП, менял свой протокол... В общем я на ней научился немножко работать с QT, серийным портом, ТСП и т.д. - правда в режиме почти процедурного программирования, но скоро перейду на нрмальный ООП :-) Короче, хороший старт... Спасибо ребятам.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 26 авг 2011, 23:09 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
dccharacter писал(а):
почти процедурного программирования, но скоро перейду на нрмальный ООП

спасиба, поржал :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 27 авг 2011, 02:08 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Не, ну а че, читаем пока... Наследование, фигедование.

Пока моих убогих скилов хватает только на это:


Вложения:
terminal.jpg
terminal.jpg [ 96.8 КиБ | Просмотров: 2995 ]

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 27 авг 2011, 11:53 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
Dmitry__ писал(а):
dccharacter писал(а):
почти процедурного программирования, но скоро перейду на нрмальный ООП

спасиба, поржал :D

На самом деле это не смешно, и ведь каждый, кто умеет нарисовать форму в дизайнере и дописать события - считает себя мега программистом :crazy:

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 29 авг 2011, 10:49 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Че прилезли? Я ж написал - "хороший старт". У меня иллюзий нет, так что отлезьте :no:

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 29 авг 2011, 10:53 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Grem писал(а):
На самом деле это не смешно, и ведь каждый, кто умеет нарисовать форму в дизайнере и дописать события - считает себя мега программистом :crazy:

Угу, можно еще обсудить сколько людей из считающих себя программистами понимает в таких вещах, как вычислительная сложность алгоритмов и т.п. :) тут то и выяснится, что реальных программистов вообще мало :crazy:

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 29 авг 2011, 13:05 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Я начал изучать программирование для роботостроения, роботомучения :)

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 08 ноя 2011, 08:20 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
Меня тут сомнения терзают. Как лучше сделать работу радара(servo + sharp)?
Сейчас сделал так: Терминал кидает на контроллер: в какое положение выставить серву с дальномером. МК отвечает положение сервы и показания дальномера. Может лучше запускать функцию на мк двигать серву с дальномером каждые 40 милисекунд на несколько градусов и отправлять на данные ПК? Так сказать для экономии трафика!

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 08 ноя 2011, 09:11 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Korbofos писал(а):
Так не итересно)

И вот так уже скоро 10 лет и практически каждый. Итого все топчутся на месте :cry:

Добавлено спустя 59 секунд:
Korbofos писал(а):
Может лучше запускать функцию на мк двигать серву с дальномером каждые 40 милисекунд на несколько градусов и отправлять на данные ПК? Так сказать для экономии трафика!

А его реально надо экономить уже, не пролезаете по трафику? :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Терминал Help !!
СообщениеДобавлено: 08 ноя 2011, 10:34 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2011, 11:27
Сообщения: 317
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр
=DeaD= писал(а):
И вот так уже скоро 10 лет и практически каждый. Итого все топчутся на месте

Согласен с вами.
Но что бы с чего-то готового начать, надо хоть немного разбираться в этом. А я "пришёл сюда" к сожалению нечего не понимал в программировании. Ну вот и разминаюсь так сказать :)

=DeaD= писал(а):
А его реально надо экономить уже, не пролезаете по трафику?

Иногда где-то минут через пять работы. Мк начинает отправлять символы не в правильной последовательности,
думаю не успевает что-ли? А так пусть шлёт данные в своём темпе ну и входящего трафика не нужно.

_________________
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO