Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум Picbasic.ru » Программирование на ПК » Программирование на Pascal » Delphi и Com-порт (хотелось бы соединить ПИК и ПК через com)
Delphi и Com-порт
hitman Дата: Пн, 14.03.2011, 11:47  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Новенький
Сообщений: 14
Репутация: 0   ±
Замечания:   ±
На сайте с 24.05.2010

Статус: Offline

Для начала установите Modbus OPC сервер. Я использую http://www.lectussoft.com/ (это не реклама!). Он в демо версии, но этого хватит чтобы все заработало. Также есть KEPServEx, это тоже ОРС сервер но без поддержки DDE (этот мехенизм нужен для обмена с Office приложениями и т.д.). На сервере создаем переменные, для обмена с микроконтроллером. Прошиваем контроллер, подключаем кабель ну и налаживаем. Листинг с программой и фаил настройки сервера скину позже.
QWERTY Дата: Пн, 22.08.2011, 00:55  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 73
Репутация: 0   ±
Замечания:   ±
На сайте с 11.05.2008

Статус: Offline

Можно с примером способ передачи данных от пика в ехель? к примеру: передаем время и температуру(целое число).
Нужно заносить в два столбца таблицы. Как это органихзуется програмно? Как создавать и писать файл Exel автоматически?
terrarus Дата: Пн, 22.08.2011, 10:21  |                                                                                                                Сообщение # 18
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Quote (hitman)
Листинг с программой и фаил настройки сервера скину позже

Ну зачем же позже, давайте сразу сейчас. Очень интересно!


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
passer_by Дата: Сб, 26.05.2012, 19:47  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 23.10.2011

Статус: Offline

Доброго времени суток. Может кто подскажет. Не могу разобраться в форматах переменных.
Сделал и в Протеусе и в железе на PIC16F877 измерение температуры. Теперь все это нужно вывести на ПК.
Программист я не важный, с СОМ портом немного разобрался. Написал на Delphi прием по СОМ порту по байтно в массив.
Передаю с PIC_а переменную Float, получаю всего четыре байта. Вроде больше должно быть.... А если это так и есть, то как из них в Delphi собрать переменную? DWord проходит нормально (четыре байта) и из них все просто собрать переменную, а вот с Float ну ни как.
Может с передачей чего не так? Код примерно такой:
Dim Х As Float
Х = -12.34
HSerOut [Х]

Сообщение отредактировал passer_by - Сб, 26.05.2012, 21:00
ADMIN Дата: Вс, 27.05.2012, 05:17  |                                                                                                                Сообщение # 20
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1087
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Я бы рекомендовал писать так:

Dim X As Float
TXSTA = %00100100
RCSTA = %10010000
SPBRG = 25
trisb = 0
main:
X=-12.34
HSerOut [#X,13]
delayms 1000
goto main
passer_by Дата: Вс, 27.05.2012, 15:10  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 23.10.2011

Статус: Offline

Спасибо, не знал, что можно использовать модификатор "#". Посмотрел Help там, оказывается, не на прямую, но говорится, что и Dec то же передает переменную как строковую и в конец, как принято, лепят завершающий "0". Получается, что команды HSerOut и Hserin с модификаторами работают со строковыми переменными. А я мучился, с вылавливанием отдельных байт и лепки переменных. Теперь придется всю логику работы переписывать...
ЯНДЕКС Дата: 27.05.2012
ADMIN Дата: Вс, 27.05.2012, 16:27  |                                                                                                                Сообщение # 22
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1087
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Я же прилагал проект как раз по работе с COM-портом через Delphi, там и проект в протоне был.
Ага, сейчас попробовал скачать, ошибка в адресе. Сейчас исправил. Вот ссылка
passer_by Дата: Вс, 27.05.2012, 18:58  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 23.10.2011

Статус: Offline

О, большое спасибо! Видел, конечно, ранее ссылку, думал у меня глючит инет. biggrin
Сижу, разбираюсь. Если можно, такой вопрос: чтение СОМ порта производится в синхронном режиме. По событию OnRxChar. Так нормально можно с PIC_ами работать? Байты не теряются? Просто у меня нет опыта работы с такими вещами. Считал, что нужно организовывать чтение в асинхронном режиме.

Сообщение отредактировал passer_by - Вс, 27.05.2012, 19:01
ADMIN Дата: Вс, 03.06.2012, 05:37  |                                                                                                                Сообщение # 24
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1087
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Ну, а почему нельзя? У меня все работает.
passer_by Дата: Вт, 05.06.2012, 19:21  |                                                                                                                Сообщение # 25
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 23.10.2011

Статус: Offline

Ну, наверное, так. И похоже команды Протона HSerOut и Hserin как бы заточены под синхронный прием/передачу данных. Но, на всякий случай все таки написал прием в асинхронном режиме (и типа для более полного освоение СОМ порта wink ). Вроде все работает. Правда, есть неприятный глюк, время от времени появляющеся. Прием данных с компа микроконтроллером написал по вашему примеру(#16) на основе аппаратного прерывания по USART. Так как сам цикл программы довольно большой, много время уходит на измерение температуры в 4 точках и всяких там еще вычислений. В зависимости от принятого кода идет дальнейшие ветвление программы. По этому сама программа обработки прерываний довольно большая. Причем внутри ее используются подпрограммы вида GoSub=> Метка <=Return. ..... И вот иногда происходит следующее: принятая команда с компа штатно отрабатывается и по выходу из ПП прерывания LCD дисплей весь покрывается нулями, основная программа подвисает. Но команды с компа все таки как то отрабатываются. Все это пока моделирую в Протеусе. Вот и думаю, то ли это прерывание происходит в какой то болезненной точке программы, то ли это Протеус накапливает какую то ошибку исполнения кода. Пробовал ставить запрет прерываний на время выполнения измерений температуры, на некоторые вычисления, все равно врем от времени вылетает этот глюк. Ни кто с таким не сталкивался? Может хотя бы направление поиска подскажете? Или все таки это глюк Протеуса?
(Извиняюсь за много букв)

Сообщение отредактировал passer_by - Вт, 05.06.2012, 19:24
Zelenanbd Дата: Чт, 30.04.2020, 19:40  |                                                                                                                Сообщение # 26
Группа: Заблокированные
Ранг:  Новенький
Сообщений: 1
Репутация: 0   ±
Замечания:   ±
На сайте с 22.04.2020

Статус: Offline

Where is admin?
It is important.
Regards.


клининговая компания окна
Antonionwo Дата: Вт, 21.06.2022, 23:50  |                                                                                                                Сообщение # 27
Группа: Заблокированные
Ранг:  Пытаюсь разобраться
Сообщений: 51
Репутация: 0   ±
Замечания:   ±
На сайте с 31.01.2021

Статус: Offline

Привет дамы и господа!
Есть такой интересный сайт https://dengi-do-zarplaty.ru/
Отличные наличные – ведущая компания в сфере микрокредитования, деньги будут у вас на карте через 15 минут. Оформить займ можно круглосуточно, в выходные и праздники.Мы применяем самые передовые технологии, чтобы вы могли за 15 минут получить займ на карту или наличными.Наш сервис доступен везде где есть интернет, получить деньги можно в одном из наших отделений или круглосуточно не выходя из дома.


тонировка окон пвх
Форум Picbasic.ru » Программирование на ПК » Программирование на Pascal » Delphi и Com-порт (хотелось бы соединить ПИК и ПК через com)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: