Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 15.01.2015, 20:55  
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,727
Сказал спасибо: 2,428
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Это должна быть полноценная программа. Не с наскока. И окна и поток для приема из порта. Не скучно.
Реклама:
baiderin вне форума  
Непрочитано 15.01.2015, 21:08  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от WindoЗavr Посмотреть сообщение
я борланд с++ установил, пытаюсь разобраться
а куда ваш код с парсингом вставлять?
У вас в программе должно быть какое-то место где принятые данные считываются из ComPort-а. Туда и вставлять - каждый байт передавать функции парсинга и проверять не пришло ли ещё новое значение АЦП.
Сообщение от WindoЗavr Посмотреть сообщение
там разные кнопки надо создавать, или окошки?
По разному бывает
- на C# есть компонент SerialPort (на MS Visual C++ оно тоже вроде есть)
- на Delphi я давно делал приём через WinApi но и компоненты для Delphi тоже какие-то есть в природе - может оно и для BC++ годится
Сообщение от WindoЗavr Посмотреть сообщение
показывалось в каком нибудь окошке, дальше я уже разберусь
Тогда и разбирать поток не надо - достаточно читать и в какой-нибудь TextBox (или что-то подобное) выводить как принялось.
_Артём_ вне форума  
Непрочитано 15.01.2015, 21:09  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,968
Сказал спасибо: 2,552
Сказали Спасибо 11,849 раз(а) в 5,938 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от baiderin Посмотреть сообщение
поток для приема из порта. Не скучно.
Ставится компонент с портом и все проблемы снимаются. А вот когда освоится Билдер, мозок мал-мал впитает информацию, что-то не понравится в компоненте - его можно сделать свой.
Готовый компонент ищите как "slycomm".
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Непрочитано 15.01.2015, 21:39  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

slycomm скачиваю, и исходники программ с ним


нагуглил такое
оно должно принимать данные с ком порта и выводить его на экран по мере приёма
но это не билдер, а что то древнее

Код:
#include ‹iostream›
#include ‹windows.h›
#include ‹conio.h›
#include ‹fstream›
using namespace std;

int main()
{
    char name[4]="com";
    char symbol='Q';
    char *number=new char;
    HANDLE hport;
    DWORD real_read;
    DCB dcb;
    BOOL succ;
    ofstream out;

    cout ‹‹"                     RECEPTION" ‹‹endl ‹‹endl;
    cout ‹‹"Enter number of com-port:";
    cin ››number;
    strcat(name,number);
    hport=CreateFile(name,GENERIC_READ,0,NULL,OPEN_EXI  STING,FILE_ATTRIBUTE_NORMAL,0);
    if(hport==INVALID_HANDLE_VALUE)
    {
        cout ‹‹"COM" ‹‹number ‹‹" WAS NOT OPEN !" ‹‹endl;
        getche();
        return 1;
    }
    out.open("002.txt",ios::trunc);
    if(!out)
    {
        cout ‹‹"file 002.txt was not open" ‹‹endl;
        getche();
        return 1;            
    }
    dcb.DCBlength=sizeof(dcb);
    succ=GetCommState(hport,&dcb);
    dcb.BaudRate=CBR_115200;
    dcb.ByteSize=8;
    dcb.Parity=EVENPARITY;
    dcb.StopBits=2;
    succ=SetCommState(hport,&dcb);
    while(true)
    {
        ReadFile(hport,&symbol,1,&real_read,NULL);
        if(int(symbol)==27) break;
        if(real_read==1) { out ‹‹symbol;  cout ‹‹symbol; }
    }
    out.close();
    CloseHandle(hport);
    return 0;
}

Последний раз редактировалось WindoЗavr; 15.01.2015 в 21:50.
WindoЗavr вне форума  
Непрочитано 15.01.2015, 23:07  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,640
Сказал спасибо: 73
Сказали Спасибо 1,798 раз(а) в 650 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от WindoЗavr Посмотреть сообщение
получается посылка типа _12_245_456_753_425_1005
проблема в том, что числа имеют разное количество знаков и на компьютере будет сложнее разделить их
Ну и проблема!
У Вас каждое число всё равно двумя байтами передаётся.
Поэтому со стороны компа нужно просто сделать с ними что-то вроде N=NHi*256+NLo, и получите своё число обратно.

Сообщение от WindoЗavr Посмотреть сообщение
но это не билдер, а что то древнее
Так COM-port - тоже древнее.
RECTO вне форума  
Непрочитано 15.01.2015, 23:26  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,947
Сказал спасибо: 2,993
Сказали Спасибо 3,170 раз(а) в 2,151 сообщении(ях)
ForcePoint на пути к лучшему
Стрелка Re: Форматирование данных и передача даных UART

Цитата:
Передавать словами
+100500. Пропускная способность канала связи лучше используется.
Цитата:
Как определить какой канал передаётся?
Если условия настольно-лабораторные и ПК не теряет данные при приёме, то тупо считать количество принятых слов и закольцовывать счётчик по нужному числу каналов.
Цитата:
Как парсить на ПК?
Я складываю данные терминалки в файл и потом просматриваю "на холодке". Свой парсер давал в этой теме.
ForcePoint на форуме  
Непрочитано 15.01.2015, 23:54  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

на счёт протокола передачи и парсинга
скорее всего сделаю передачу данных из 7 этапов
первое значение передалось, мк ждёт, пк подтвердил приём
второе значение передалось, мк ждёт, пк подтвердил приём
и так далее
а после шестого будет допустим код 101010 и контрольные суммы переданного
затем всё повторяется
таких циклов примерно 50 в секунду

этим уберу проблему помехозащищённости и сбивания подсчёта

ком порт потом на FT232 переведу, будет эмуляция ком порта по USB

Последний раз редактировалось WindoЗavr; 15.01.2015 в 23:57.
WindoЗavr вне форума  
Непрочитано 16.01.2015, 00:03  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,968
Сказал спасибо: 2,552
Сказали Спасибо 11,849 раз(а) в 5,938 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Сообщение от WindoЗavr Посмотреть сообщение
что то древнее
Это консольный вариант, без GUI.
Сообщение от ForcePoint Посмотреть сообщение
Передавать словами
Конечно. В одной из соседних тем уже говорил, что проще передавать в ASCII hex-содержимое (инты), в этом случае начало пакета можно обозначить любой "нецифрой". Только несколько повозиться с переводом, но, используя стандартные функции, это не проблема.
Сообщение от ForcePoint Посмотреть сообщение
тупо считать количество принятых слов и закольцовывать счётчик по нужному числу каналов.
А где начало-конец кольца? Откуда счет?
WindoЗavr, что используете в качестве IDE для контроллера? Я, по большей части, ЦВ, хоть плевков сейчас будет море... Но он удобней, когда надо мелочь по-быстрому сваять.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
Непрочитано 16.01.2015, 00:11  
WindoЗavr
Заблокирован
 
Регистрация: 26.12.2013
Сообщений: 379
Сказал спасибо: 66
Сказали Спасибо 61 раз(а) в 23 сообщении(ях)
WindoЗavr на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

компьютер будет после приёма пакета данных давать разрешение на передачу следующего
WindoЗavr вне форума  
Непрочитано 16.01.2015, 00:21  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,968
Сказал спасибо: 2,552
Сказали Спасибо 11,849 раз(а) в 5,938 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Форматирование данных и передача даных UART

Если обмен по команде - вообще не проблема. Как угодно, но желательно контрольную сумму считать. Прямо инты складывать и передавать в хвосте.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor на форуме  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Беспроводная передача данных 1кб/с , 3км. Как и чем? Zemlyanov Микроконтроллеры, АЦП, память и т.д 5 29.01.2015 10:02
Тормоза при передаче данных через UART в Bluetooth модуль rus_12345 Микроконтроллеры, АЦП, память и т.д 8 05.01.2015 19:39
Передача данных через UART в AVR микроконтроллерах. harry7777 AVR 54 09.11.2013 20:40
Передача данных в UART из текстового файла bombardier_rotax Proteus 6 24.02.2010 20:50
PIC16F877A pawelk Микроконтроллеры, АЦП, память и т.д 17 28.05.2005 23:54


Часовой пояс GMT +4, время: 17:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot