|
0 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 23
|
|
Как принять по rs232 информацию от frid readera в VB6 и приписать дату и время?17.03.2020, 13:42. Показов 3457. Ответов 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 формата в понятную дату и время? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|