Перейти к содержанию
    

chipper

Участник
  • Постов

    25
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о chipper

  • Звание
    Участник
    Участник

Посетители профиля

720 просмотров профиля
  1. Продам корпуса Hammond 1455C802 и 1455C802bk серебряные и черные. Отверстия под разъем юсб, кнопку, 4 светодиода и разъем 2*15, под плату 51*80, толщина 1,6 Фрезеровка выполнена отлично, зазоры минимальны. Серебряные по 650 руб., черные по 750 руб. ссылка на программатор http://mslw.com/shop/ пдфка на корпус Hammond_1455C802.pdf Территориально Москва, метро Волгоградский проспект, могу отправить СДЕКом, почтой России
  2. Всем привет! Продам корпуса Hammond 1455C802 и 1455C802bk серебряные и черные с фрезерованными отверстиями под юсб, кнопку, 4 светодиода и разъем 2*15, под плату 51*80, толщина 1,6 Фрезеровка выполнена отлично, зазоры минимальны. Остались от проекта. Черные по 950 руб, серебряные по 850 руб. Есть еще панели WELLS-CTI 648-0482211SA01 под tsop48, цена 1000 руб за шт Процы NXP LPC43S37JBD144E LQFP144 по 750 руб Все в Москве, территориально м.Волгоградский проспект, могу отправить СДЕКом. Hammond_1455C802.pdf
  3. Спасибо! у меня еще вопрос будет, по установке контроля потока: аппаратный, программный, нет. Пока чего-то то же не догоняю. Но это позже, с выводом разберусь-)
  4. Спасибо, Вам! Действительно рассматривал эти символы как пару. Попробую переделать с учетом, что каждый символ отвечает за свое. Так же попробую пересмотреть таймауты. У меня они сейчас выставлены на максимуме. Порт читаю в синхронном режиме, а время чтения задается при вызове ф-ции Recv_Buff_Ex( timeout ). Спасибо!
  5. так вот как раз проблема с определением перевода строки чуть выше приведены ответы от трех разных девайсов и все по-разному переводят строки да вот даже в этом примере, который чуть выше, если обратите внимание, аппарат шлет три разных вида перевода строки 0A0D 0D0A 0D0A0D почему так? Оба примера с принтеров самсунг. спасибо, поищу
  6. есть буфер с постоянно пополняющимися данными приходящими из ком порта, его надо вывести в мемо т.е. визуально должен быть вот такой вывод [HWIC] 1PLL 2IOC 3SDRAM 4GPIO 5AHB [END][Y] Decompression*********** -->>>> GO Kernel jump_ExecCode() : ul_addr - 0x02008000 InitializeWDT [0x2078564] в общем надо написать терминал для связи с девайсами они же что-то отвечают, вот это что-то и надо выводить в мемо т.е. то же самое что делает и виндовый терминал
  7. Терминал

    Всех приветствую! Учусь программировать, опыта мало совсем Пишу программку наподобие гипрертерминала виндоус или putty. Пишу в с++ builder проблема с выводом полученных данных в мемо, никак не догоню как это сделать подсоединяюсь к девайсам через UART, разные девайсы выводят инфу в разном формате данные принимаются в буфер и дальше оттуда их надо выводить в мемо формат данных от разных устройств разный, выводить надо в аски вместо ... идет какой-то текст проблема, как распознавать переводы строк ниже приведенные примеры, это вывод данных в хексе принтер 1 0D 0A 0D 0A ... 0D 0A 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... 0D 0A 0D ... принтер 2 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0D 0A ... 0D 0A ... 0D 0A ... 0D 0A 0D ... 0D 0A 0D ... спутниковый тюнер на линуксе 00 0D ... 00 ... 0D 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D 0A 0D ... 0A 0D ... 0A 0D ... 0A 0D с принтерами проблема, что нет конца строки у последних данных на девайсе на линуксе еще проблема, что он шлет 00 байтики, с ними то же что-то надо делать Для тестирования проги использовал строку вида ...\r\n...\r\n с эти проблем нет, все работает на реальных девайсах оказалось все не так. вот полностью пример, что приходит от принтера 2 0A 0D 5B 48 57 49 43 5D 0A 0D 31 50 4C 4C 0A 0D ..[HWIC]..1PLL.. 32 49 4F 43 0A 0D 33 53 44 52 41 4D 0A 0D 34 47 2IOC..3SDRAM..4G 50 49 4F 0A 0D 35 41 48 42 0A 0D 5B 45 4E 44 5D PIO..5AHB..[END] 5B 59 5D [Y] 0D 0A 44 65 63 6F 6D 70 72 65 73 73 69 6F 6E 20 ..Decompression 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0A 2D 2D 3E ***********..--> 3E 3E 3E 20 47 4F 20 4B 65 72 6E 65 6C 0D 0A 6A >>> GO Kernel..j 75 6D 70 5F 45 78 65 63 43 6F 64 65 28 29 20 3A ump_ExecCode() : 20 75 6C 5F 61 64 64 72 20 2D 20 30 78 30 32 30 ul_addr - 0x020 30 38 30 30 30 0D 0A 0D 20 49 6E 69 74 69 61 6C 08000... Initial 69 7A 65 57 44 54 0D 0A 0D 5B 30 78 32 30 37 38 izeWDT...[0x2078 35 36 34 5D 564] вот ф-ция, которая выводит данные в мемо //--------------------------------------------------------------------------- void __fastcall TForm1::ProcessPortData( ) { if( !Port->Recv_Buff_Ex( 50 ) ) { Form1->PrintText( (char*)Port->rd_buff ); Port->ClearRecvData(); Form1->PrintText( Port->LastErrorStr ); } else { if( strstr( (char*)( Port->rd_buff + Port->CountRecv - 2 ), "\r\n" ) ) { Port->rd_buff[ Port->CountRecv - 2 ] = '\0'; Form1->PrintText( (char*)Port->rd_buff ); Port->ClearRecvData(); } } return; } //--------------------------------------------------------------------------- идея была вот такая так как мы не знаем, что нам придет в порт и что мы будем считывать, то я ориентировался на то, что при выводе аски, строки должны заканчиваться на перевод строки или окончание строки попало сколько то байт в внутренний буфер порта, проверяем есть ли перевод строки, если есть выводим данные, чистим буфер если нет, снова вызывается ф-ция читающая буфер ... на самом деле она вызывается постоянно в цикле в другом потоке и постепенно наполняет буфер затем происходит, проверка, и если есть перевод строки, то вывод если буфер переполняется, то выводится весь буфер и очищается в общем помогите, кто чем может, а то уже месяц туплю Спасибо!
×
×
  • Создать...