|
0 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 23
|
|
Как принять по rs232 информацию от frid readera в VB6 и приписать дату и время?17.03.2020, 13:42. Показов 3390. Ответов 29
Метки нет (Все метки)
друзья,
задача такая, от rfid reader-а поступает сигнал (номер карты)в формате HEX и по rs232 поступает на сом порт компьютера. нужно зафиксировать номер карты и время и дату поступления в непрерывном режиме используя VB6. в инете о----очень много информации о том, как читать данные из сом порта в VB6, используя MSComm или API функции. вроде все выложено, все размельчено ,но когда дело доходит до реального воплощения, начинают появляться вопросительные знаки. видимо ответчики думают, что беседуют всегда с подготовленными людьми, примерно их уровня и определенные детали не договаривают для полной ясности. это- либо дают код и не указывают, как его использовать, либо дают часть кода и как дальше его связать с программой тоже не ясно и т. д. неужели ,кто нибудь не может по человеческий указать последовательность действии. например; -запустите standart exe, -перетащите MSComm на панель инструментов, -создайте Lable или Text окно где и будет вписаться информация, -открыть порт таким то кодом формы, -для приема использовать такой то код, который нужно разместить куда то, -подать сигнал на порт и наслаждаться результатом. -или использовать функции API вписывая их куда то и т .д. друзья если бы мы- простые люди все понимали с полуслова или знали все, может и не нужно было столько форумов. но мы же не гуру. так будь любезны если уж делайте доброе дело и помогайте не знающим людям, так помогите по человеческий .
0
|
|
| 17.03.2020, 13:42 | |
|
Ответы с готовыми решениями:
29
К названию файла приписать дату и время Как принять информацию из БД
|
|
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
|
|
| 19.03.2020, 19:10 | |
|
Возможно моя скромная разработка поможет. Это терминальная программа, которую я делал
для обмена с платой Arduino. На мой взгляд небольшой трюк состоит в наличии в программе таймера, который опрашивает вход COM порта и считывает приходящие байты.
1
|
|
|
0 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 23
|
|||||||||||
| 19.03.2020, 20:39 [ТС] | |||||||||||
|
qbfan
спасибо за содействие. у меня виндоус 7 скачал и установил VB6 и вроде работает. ваша программа чего то не пошла. может нужно 98? Добавлено через 6 минут ой заработала!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!1 не верится дайте время придти в себя!!!!!!!!!!!!!!!!!! Добавлено через 24 секунды ой заработала!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!1 не верится дайте время придти в себя!!!!!!!!!!!!!!!!!! Добавлено через 38 минут в общем есть над чем поработать The trick и qbfan дают надежду что все закончится благополучно позвольте пару вопросов по коду нужно передать на ком восьмиразрядное хекс число например 0xAABBCCDD в десятичной форме я воспользовался алгоритмом найденным в инете Для машины нет разницы между 0хFFFF и 65536 или 0xFF и 255. Допустим пришло число в виде 0xFFFF но мы знаем что это число 65535 в DEC. Чтобы в терминале оно отобразилось, мы должны передать 0x06+0x30,0x05+0x30,0x05+0x30,0x03+0x30, 0x05+0x30 добавление 0x30 как раз даст нужный символ согласно ASCII таблицы. А чтобы разбить на эти байты. Можно отнимать сначала по 10000 или 0x2710, от числа которое пришло с датчика, и подсчитывать количество отсчетов. Для 60000 количество отсчетов будет равно 6 или 0x06. Потом смотрим - если число меньше 10000, тогда начинаем отнимать по 1000 или 0x3E8 и подсчитывать количество отсчетов. Для 5000 количество отсчетов будет равно 5 или 0x05. Потом смотрим - если число меньше 1000, тогда начинаем отнимать по 100 или 0x64 и подсчитывать количество отсчетов. Для 500 количество отсчетов будет равно 5 или 0x05. Потом смотрим - если число меньше 100, тогда начинаем отнимать по 10 или 0x0A и подсчитывать количество отсчетов. Для 30 количество отсчетов будет равно 3 или 0x03. Потом смотрим - если число меньше 10, тогда оставшееся мы передаем просто в том же виде. И в итоге в терминал придет не 0xFFFF разбитое на два байта 0xFF и 0xFF, а 5 байт и отображено как 65535 и написал код в CVAVR
Добавлено через 25 секунд в общем есть над чем поработать The trick и qbfan дают надежду что все закончится благополучно позвольте пару вопросов по коду нужно передать на ком восьмиразрядное хекс число например 0xAABBCCDD в десятичной форме я воспользовался алгоритмом найденным в инете Для машины нет разницы между 0хFFFF и 65536 или 0xFF и 255. Допустим пришло число в виде 0xFFFF но мы знаем что это число 65535 в DEC. Чтобы в терминале оно отобразилось, мы должны передать 0x06+0x30,0x05+0x30,0x05+0x30,0x03+0x30, 0x05+0x30 добавление 0x30 как раз даст нужный символ согласно ASCII таблицы. А чтобы разбить на эти байты. Можно отнимать сначала по 10000 или 0x2710, от числа которое пришло с датчика, и подсчитывать количество отсчетов. Для 60000 количество отсчетов будет равно 6 или 0x06. Потом смотрим - если число меньше 10000, тогда начинаем отнимать по 1000 или 0x3E8 и подсчитывать количество отсчетов. Для 5000 количество отсчетов будет равно 5 или 0x05. Потом смотрим - если число меньше 1000, тогда начинаем отнимать по 100 или 0x64 и подсчитывать количество отсчетов. Для 500 количество отсчетов будет равно 5 или 0x05. Потом смотрим - если число меньше 100, тогда начинаем отнимать по 10 или 0x0A и подсчитывать количество отсчетов. Для 30 количество отсчетов будет равно 3 или 0x03. Потом смотрим - если число меньше 10, тогда оставшееся мы передаем просто в том же виде. И в итоге в терминал придет не 0xFFFF разбитое на два байта 0xFF и 0xFF, а 5 байт и отображено как 65535 и написал код в CVAVR
0
|
|||||||||||
|
Модератор
|
||||||
| 19.03.2020, 22:52 | ||||||
|
Не проще перевести это в unsigned long. Число в BCD есть, теперь просто складываем разряды умноженные на степени 10? Проще вообще из шестнадцатеричного представления перевести в unsigned long. Получаем разряд, вычисляем значение, поразрядное OR, и сдвиг на ч разряда если нужно. Кодом на C не могу помочь для AVR, т.к. для AVR пишу на ассемблере, только на нем могу предоставить процедуру если нужно.
Добавлено через 5 минут Я понял, нужно в AVR перевести в BCD и вывести на экран. Я подумал нужно принять число в BCD и преобразовать. Минуточку Добавлено через 31 минуту Да код на с элементарный вообще.
0
|
||||||
| 19.03.2020, 23:10 | |
|
0
|
|
| 19.03.2020, 23:12 | |
|
Не по теме: locm, да я знаю. Мне пока возможностей AVR хватает, хотя не раз уже собирался на STM перейти, пока как-то не идет.
0
|
|
| 20.03.2020, 00:23 | ||
|
Не по теме:
Я выбрал для начала среду EmBitz и до сих пор пишу в ней. Это вероятно самая простая IDE для STM32. В ней по умолчанию есть библиотеки SPL и CMSIS которые добавляются в проект при его создании. То есть достаточно создать проект и можно работать без необходимости вникать в мелочи. Вначале это важно, а со временем можно разобраться с мелочами. Пара ссылок по теме. Форум, т. к. на других сайтах этой информации нет. http://purebasic.mybb.ru/viewtopic.php?id=575 http://purebasic.mybb.ru/viewtopic.php?id=564
0
|
||
|
0 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 23
|
|
| 20.03.2020, 11:44 [ТС] | |
|
речь идет о передаче bcd числа который легко формируется из hex на терминал через ком
пример поступил 0xAASSCCDD преобразовали в bcd 2864434397 и теперь его передаем на терминал 0x32,0x38,----0x37 Добавлено через 9 минут тут еще один вопрос .при приеме от источника 8 разрядного hex. это число принимается по байтно и размещается в регистре. например. принимается AABBCCDD и размещается в r[8]={0x41,0x41,0x42,0x42,0x43,0x43,0x44,0x4 4}; как теперь из этого дробленого числа получить unsigned long [1]={AABBCCDD};
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 23
|
|
| 20.03.2020, 13:12 [ТС] | |
|
ага буду пробовать.
Добавлено через 51 минуту а как указать что r[8]={0x41,0x41,0x42,0x42,0x43,0x43,0x44,0x4 4}; есть AABBCCDD ? если есть Добавлено через 1 минуту как из r[8]={0x41,0x41,0x42,0x42,0x43,0x43,0x44,0x4 4}; сделать AABBCCDD? Добавлено через 40 секунд ТОЖЕ hex
0
|
|
|
Модератор
|
|
| 20.03.2020, 14:10 | |
|
davita, я дал Вам код, посмотрите чему равен буфер bBuf после ultoa. Это элементарные действия.
Этот раздел не по программированию AVR, а VB6. Если у Вас есть вопросы по VB6 - задавайте тут. По AVR есть другой раздел.
0
|
|
| 20.03.2020, 14:10 | |
|
Помогаю со студенческими работами здесь
30
Как переконвертировать время из unix epoch формата в понятную дату и время? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|