Я несколько раз пытался освоить HiAsm и каждый раз терпел неудачу, потому что не мог получить на компьютере данные с СОМ порта.
В последний раз до меня дошло, что данные в компьютер поступают в виде символов. Я привык при работе с разными терминалами получать данные в HEX,так как их отправляет контроллер.Есть ли возможность в стандартном элементе Компорта отключить преобразование в символы? А то проиходит двойное преобразование: элемент Компорта преобразует HEX в символы, а я вынужден преобразовывать их обратно.
Этот топик читают: Гость
|
Ответов: 55
Рейтинг: 0
|
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
AVladM писал(а): HEX в символыВсе правильно -- десятичне значение символа и есть байт информации в десятичном представлении. А HEX, кстати, строковое представление этого самого байта |
|||
| карма: 22 |
|
|
Ответов: 55
Рейтинг: 0
|
|||
|
Спасибо за ответ.Я всхищен возможностями HiAsm.Пытался сделать такой же графический интерфейс на LabVIEW, но там сложно получить исполняемый файл ну и слишком дорого.Какие инструменты (программы Pascal, Delphi) мне нужны для того, чтобы самому подправить элемент COM для получения на выходе HEX?
|
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
AVladM писал(а): чтобы самому подправить элемент COM для получения на выходе HEX?Знание Delphi. Но вопрос -- зачем его править, неужели не хватает штатных компонентов для такого преобразования Вот посимвольное преобразование в HEX выходных данных И строки в HEX AVladM, а может всю схему загнать в IC, а, может так проще будет |
|||
| карма: 22 |
| ||
| Голосовали: | Konst |
|
Ответов: 55
Рейтинг: 0
|
|||
|
Спасибо.Сейчас я использую связку COM и StreamConvertor.
Желание поправить от недопонимания механизма работы HiAsm. Вроде переискал весь сайт, но так и не понял: куда вставлять эти коды и как использовать файл.txt, который я вчера получил по CRC8. Вроде нашел, что нужно скопировать текст и вставить в редактор а в другом месте, что нужно использовать утилиту ECreator. Подскажите, пожалуйста. |
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
AVladM писал(а): Подскажите, пожалуйстаКопируем текст с форума или текстового файла по Ctrl+C и вставляем на поле HiAsm-a по Ctrl+V. Текстовый файл, еще к тому же, можно скачать и переименовать расширение в *.sha, а затем его запустить ------------ Дoбавленo в 12.19: AVladM писал(а): нужно использовать утилиту ECreatorДля этой цели ECreator не нужен |
|||
| карма: 22 |
|
|
Ответов: 55
Рейтинг: 0
|
|||
|
Спасибо!
|
|||
| карма: 0 |
|
|
Ответов: 55
Рейтинг: 0
|
|||
|
Для таких же как я составил небольшую схему-памятку по работе с микроконтроллерами через Comport средствами HiAsm.
Primer будет работать с МК передающим три байта данных в СОМ1 на скорости 9600. Период опроса порта 1 секунда. Первый байт любой ненулевой(служебный для исключения ошибки приема нулевых байт) Второй и третий байты данные 8бит АЦП. В программе первый байт АЦП приводится к диапазону 5,12 , а второй - 255. Графики отображают 100 точек с последующим замещением начальных данных. Проект HiAsm я постарался подробно прокомментировать и дальнейшее увеличение числа каналов, я думаю, не доставит больших трудностей. Если нужно что-то сообщить МК из программы от HiAsm, то можно поступить так: Формируем строку и передаем на doWrite элемента СОМ, а как это произойдет лучше объяснить "на пальцах": К примеру нужно передать два HEX-байта 0x5B и 0x1F. В программе от HiAsm формируем строку 5B1F и отправляем. В МК получим четыре байта HEX 35 42 31 46 (коды ASCII) и причешем их по примерно такому алгоритму: Если байт меньше 0х40, то отнимем 0х30 иначе через небольшой свитч 0х41 = 0х0А ...... ...... 0х46 = 0х0F получим вот такие четыре байта 05 0В 01 0F. А дальше совсем просто: HEX1 = (байт1 << 4) + байт2; HEX2 = (байт3 << 4) + байт4; И теперь наш МК знает, что ему хотели сказать. code_31289.txt |
|||
| карма: 0 |
| ||
| файлы: 1 | code_31289.txt [4KB] [152] |
|
Ответов: 5446
Рейтинг: 323
|
|||
|
AVladM, а зачем нагружать микроконтроллер преобразованием HEX->INT, если можно то же самое возложить на процессор ПК? Компонент Convertor в режиме HexToInt тебе в этом поможет.
|
|||
| карма: 1 |
|
9



Поиск
Друзья
Администрация