![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 15.06.2010
Сообщений: 7
|
![]()
Здравствуйте!!!!
Вообщем ситуация такая, есть мониторчик управления который через COM порт отправляет на контроллер показания Скорости и Время в 16bit-signed. А мне надо контроллером принять эти данные, и так как в COM порт льется все сразу, сформировать из данных ком порта две переменные, первые 2 байта -> скорость, вторые 2 байта -> время. Я думаю реализовать это через массив, но так как писал до этого на Делфи, понятия не имею как это сделать...... Заранее благодарен, за помощь ! |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 25.04.2011
Сообщений: 110
|
![]()
сейчас на чем пишешь?
я сам сечас на делфи с бкомпортом воюю, поэтому вопрос результат приходит в кодированном виде или нет? ты как потом опирировать собираешься с массивами? может просто присвоешь сначало все в 1 строку, декодируешь если надо, (можно выводить все это на экран), а дальше скпируешь из строки первую половину(до какогото знака-определишьпозже) и второую также |
![]() |
![]() |
![]() |
#3 |
Регистрация: 15.06.2010
Сообщений: 7
|
![]()
если ты имееш ввиду DBC или нет, то нет, дело все еще в том что, у контроллера для работы с КОМом есть комманда ReadCom("Number_of_port") который читает весь буфер КОМ порта, поэтому сначала мне полюбому набо считать все либо в char какойнибудь, либо хз. Вот я не знаю как быть, как мне считать весь КОМ порт в память например, присвоить одной переменной первые 2 байта инфы, а другой вторые 2, это при условии, что я точно знаю, что у меня на КОМ порт приходит 4 байта. То есть я на мониторе задаю 1556, а он мне присылает байт с 15 и байт с 56. И как мне потом перегнать в int обе переменные, что бы сформировать кол-во импульсов.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
сформируйте простейший пакет и проверяйте контрольную сумму, это если на будущее ...а вообще, настройку буфера приема делали?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
createfile(), readfile(), writefile()... неважно на чем пишите, все равно юзаете API и работаете со системным драйвером, абстрагируясь от него ...хотя, никто не запрещает и через "0" кольцо, тот же Giveo и т.п. и т.д./
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 558
|
![]() |
![]() |
![]() |
![]() |
#8 |
Регистрация: 15.06.2010
Сообщений: 7
|
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 558
|
![]() |
![]() |
![]() |
![]() |
#10 |
Регистрация: 15.06.2010
Сообщений: 7
|
![]()
Потому что данный контроллер программируеться на Си и только на нем, и стандартные библиотеки у него под Си. Еслиб у меня был выбор то конечно на Делфях бы писал....
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заполнение массива | Alex_Mason | Общие вопросы Delphi | 2 | 07.12.2010 22:58 |
заполнение массива | GaLiof | JavaScript, Ajax | 4 | 01.11.2010 20:36 |
Заполнение массива | siemdi | Общие вопросы C/C++ | 12 | 27.05.2010 22:21 |
Заполнение массива. | Небесный | Общие вопросы C/C++ | 3 | 01.09.2009 01:39 |
Как получить данные с COM-порта или другого любого порта? | DeLure | Общие вопросы C/C++ | 5 | 20.09.2007 00:50 |