Пятница, 29.03.2024, 11:48
| RSS
[SEARCH_TITLE]
[SEARCH_FORM]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Архив - только для чтения
Форум » Мастерская » Идеи, предложения и их реализация. » Создание своего терминала. На основе Delphi (Передача данных с помощью Rs-232)
Создание своего терминала. На основе Delphi
DoniakДата: Среда, 24.02.2010, 23:16 | Сообщение # 1








Язык программированя: CodeVisionAVR Си
Зарегистрирован 19.03.2008
Группа: Модераторы
Сообщений: 584
Город: Кривой Рог (Днепропетровск)
Статус: Offline
Quote (Space)
ага. для начало при подключение usb он должен будет остановить работу программы и напечатать сообщение в терминале. После сделаю нескеолько команд для теста всей его системы. Например покрутить моторами несколько секунд. или проверить работу шарпов и т.д.

Добавлено (05.02.2010, 00:29)


Под управляющей программой хотел сказать терминал тот что на ПК работает.
Вот тоже хочу изучить микруху FT232BL только терминал хотелось бы свой, чтоб можно было матрицы формировать и сохранять в тхт формате... Может есть исходники какие нибудь?

----------------------------------------------------------------------------------------
Выдрано из темы
Robbe

Сообщение отредактировал Space - Суббота, 27.02.2010, 16:02
 
DeepBlackДата: Среда, 24.02.2010, 23:44 | Сообщение # 2








Язык программированя: C/C++
Зарегистрирован 27.07.2009
Группа: Модераторы
Сообщений: 189
Город: Зеленоград
Статус: Offline
Doniak, посмотрите DLL библиотеку SerialGate - обалденная штука. Любой терминал набросать можно, причем, довольно быстро.
Лежит она на http://pcports.ru. Там же примеры использования и подробное описание всех включенных в библиотеку функций.
 
DoniakДата: Четверг, 25.02.2010, 00:47 | Сообщение # 3








Язык программированя: CodeVisionAVR Си
Зарегистрирован 19.03.2008
Группа: Модераторы
Сообщений: 584
Город: Кривой Рог (Днепропетровск)
Статус: Offline
я про этот ресурс както совсем забыл. Хотя не понимаю как связали USB и COM порты kolobok_my_ogo
 
DeepBlackДата: Четверг, 25.02.2010, 00:52 | Сообщение # 4








Язык программированя: C/C++
Зарегистрирован 27.07.2009
Группа: Модераторы
Сообщений: 189
Город: Зеленоград
Статус: Offline
там ставится микросхемка - FT232 или (как я обычно делаю) CP2102 и она реализует в ПК виртуальный COM порт. А дальше все просто
 
SpaceДата: Четверг, 25.02.2010, 16:52 | Сообщение # 5








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (Doniak)
Может есть исходники какие нибудь?

нету к сожалению
Quote (DeepBlack)
там ставится микросхемка - FT232 или (как я обычно делаю) CP2102 и она реализует в ПК виртуальный COM порт. А дальше все просто

ага
 
DoniakДата: Суббота, 27.02.2010, 02:09 | Сообщение # 6








Язык программированя: CodeVisionAVR Си
Зарегистрирован 19.03.2008
Группа: Модераторы
Сообщений: 584
Город: Кривой Рог (Днепропетровск)
Статус: Offline
уу тоже подключил МК действительно все просто :) вот только терминалы что в CVAVR, что просто в виде отдельных прог слишком медленные максимум 115200 бод может кто встречал на 921600 ? так протестировать на максимуме senile
 
DeepBlackДата: Суббота, 27.02.2010, 07:52 | Сообщение # 7








Язык программированя: C/C++
Зарегистрирован 27.07.2009
Группа: Модераторы
Сообщений: 189
Город: Зеленоград
Статус: Offline
SerialGate рассчитана на работу в том числе и с виртуальными портами, скорость которых бывает гораздо выше, чем у физических портов. Поэтому там 1Мбод (а то и больше) спокойно ставить можно. Единственное, во что я лично уперся, тот факт что в CodeVision не получалось запрограммировать МК на такую скорость...
...а если у Вас XMega, то, возможно, там есть такая возможность
 
SpaceДата: Суббота, 27.02.2010, 08:42 | Сообщение # 8








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Doniak, посмотри стандартный гипертерминал винды. вчера скачал еще одтин терминал с робофорума, помотрю, если в нём есть такая скорость, то выложу. вообще ща собираюсь свою терминалку писать на делфи 7. smile3
 
юрииДата: Суббота, 27.02.2010, 08:55 | Сообщение # 9








Язык программированя: Васик
Зарегистрирован 05.03.2009
Группа: Новички
Сообщений: 572
Город: Югорск
Статус: Offline
Space, Я смотрю мой совет сделать оптекатели пригодился smile3
 
S-T-A-L-K-E-RДата: Суббота, 27.02.2010, 09:24 | Сообщение # 10








Язык программированя: Мурманская область
Зарегистрирован 11.06.2009
Группа: Модераторы
Сообщений: 367
Город: Никель
Статус: Offline
Хоть для чего-то годен Delphi smile3
 
DoniakДата: Суббота, 27.02.2010, 09:57 | Сообщение # 11








Язык программированя: CodeVisionAVR Си
Зарегистрирован 19.03.2008
Группа: Модераторы
Сообщений: 584
Город: Кривой Рог (Днепропетровск)
Статус: Offline
Quote (Space)
Doniak, посмотри стандартный гипертерминал винды. вчера скачал еще одтин терминал с робофорума, помотрю, если в нём есть такая скорость, то выложу. вообще ща собираюсь свою терминалку писать на делфи 7. smile3

Присоединяюсь тоже буду на делфи писать
Quote (DeepBlack)
SerialGate

вещь хорошая но в наличии есть борланд С++ а там отказывается работать выкидывает ошибки ...
Quote (DeepBlack)
...а если у Вас XMega, то, возможно, там есть такая возможность

угу есть :)
 
DeepBlackДата: Суббота, 27.02.2010, 10:54 | Сообщение # 12








Язык программированя: C/C++
Зарегистрирован 27.07.2009
Группа: Модераторы
Сообщений: 189
Город: Зеленоград
Статус: Offline
я в борланде писал с SG.
там, единственное, подключал как статическую библиотеку, а не как динамическую. и немного подогнал код под особенности борланда.
А можно вообще проще сделать. Там в библиотеке по сути, прописан класс SerialGate, а в программе создается объект этого класса.
Можно тупо скопировать описание этого класса (с набором необходимых функций) и вставить в свою программу подгоняя под особенности компилятора.
И если не ошибаюсь, в борланде по-своему производятся настройки DCB параметров - их я тоже сам писал. Ну там совсем немного - срочек 15-20 максимум исправил.
Что-то вот такое у меня было (подключить нормально, чтоб не ругался, не умел, поэтому я просто прописал необходимые функции в своей программе):
Code
__fastcall TForm3::TForm3(TComponent* Owner)
    : TForm(Owner)
{

    StatusBar1->Panels->Insert(0)->Text="COM4";

    count=0;

    }
//---------------------------------------------------------------------------
bool TForm3::PortOpen (int num, int rate){
    try {
    PortOpen(4,56000);
char COM_string[20];
sprintf(COM_string,"\\\\.\\COM%d",num);

m_hFile = CreateFile(COM_string, GENERIC_READ|GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
}
     catch (Exception &exception)
     {
      ShowMessage("Невозможно открыть порт");

     }
if (m_hFile == INVALID_HANDLE_VALUE) {

    CloseHandle(m_hFile);
    StatusBar1->Panels->Insert(1)->Text="Error";
    Form3->Close();
    return false;
}
else StatusBar1->Panels->Insert(1)->Text="Open";
DCB dcb;
GetCommState(m_hFile,&dcb);

    COMMTIMEOUTS CommTimeOuts;
    CommTimeOuts.ReadIntervalTimeout   = MAXDWORD;
    CommTimeOuts.ReadTotalTimeoutMultiplier  = 0;
    CommTimeOuts.ReadTotalTimeoutConstant    = 0;
    CommTimeOuts.WriteTotalTimeoutMultiplier = 0;
    CommTimeOuts.WriteTotalTimeoutConstant   = 1000;

SetCommTimeouts(m_hFile,&CommTimeOuts);

    dcb.ByteSize = 8;
    dcb.Parity = NOPARITY;
    dcb.StopBits = ONESTOPBIT;
    dcb.BaudRate = rate;

SetCommState(m_hFile,&dcb);

     catch (Exception &exception)
     {
      ShowMessage("Невозиожно открыть порт");
     }
    return true;
}
void __fastcall TForm3::FormClose(TObject *Sender, TCloseAction &Action)
{
    CloseHandle(m_hFile);
}
//---------------------------------------------------------------------------

char TForm3::Recv(int szBuff){

    if(buff==NULL||szBuff<=0)
    {
      StatusBar1->Panels->Insert(2)->Text = "Ошибка вызова функци";
    }

    DWORD dwBytesRead = 0;
    ReadFile(m_hFile,buff,szBuff,&dwBytesRead,NULL);
    char a = buff[0];
    return a;
}

функции приема написаны с учетом назначения программы, поэтому могут отличаться от заданных в библиотеке.

p.s. а вообще, наверно, надо отдельную тему про интерфейсы сделать, и туда часть сообщений отсюда перенести - а то тема все-таки про робота....

 
SpaceДата: Суббота, 27.02.2010, 11:27 | Сообщение # 13








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (юрии)
Space, Я смотрю мой совет сделать оптекатели пригодился smile3

ага... но в процессе обтекатели будут заменены на контактные бампера, но на корпусе из пвх
Quote (S-T-A-L-K-E-R)
Хоть для чего-то годен Delphi smile3

Между прочим оч удобная вещь. Я в универе на первом курсе изучал его. Правда ща всё забыл придётся вспоминать как, чего и куда... sad
Вообщем терминал ниже. Но скорость максимальная в нём 256000. Кстати этот терминал написан на делфи
Прикрепления: mbterm.exe (202.5 Kb)
 
DoniakДата: Суббота, 27.02.2010, 11:45 | Сообщение # 14








Язык программированя: CodeVisionAVR Си
Зарегистрирован 19.03.2008
Группа: Модераторы
Сообщений: 584
Город: Кривой Рог (Днепропетровск)
Статус: Offline
Quote (Space)
Кстати этот терминал написан на делфи

если есть исходник скинь
 
SpaceДата: Суббота, 27.02.2010, 11:52 | Сообщение # 15








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
я бы сам рад был увидеть исходник. Если парень даст исходник, то скину.
Вот здесь куча исходников на делфи.
 
Форум » Мастерская » Идеи, предложения и их реализация. » Создание своего терминала. На основе Delphi (Передача данных с помощью Rs-232)
  • Страница 1 из 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск: