|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Перевод из переменной типа string в byte
Подскажите пожалуйста, у меня переменная A1 c помощью функции DEC2HEX переведена в шестнадцатиричную систему счисления, но получилась она типа string, а мне надо передать ее на микроконтроллер, тоесть, чтобы она была типа byte, подскажите функцию перевода из string в byte?
|
#2
|
||||
|
||||
Если переменная A1 является строкой, то все просто:
Код:
var c:byte; ... c:=StrToInt(A1); И дальше отправляешь C. Если работаешь с микроконтроллером, то там при передаче никакая не шестнадцатиричная система, а обыкновенная двоичная, а вернее последовательность из +\-12V (для COM порта), где +12 - единица, а -12 - ноль. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 09.05.2011 в 16:12. |
#3
|
|||
|
|||
А зачем тебе переводить в другую систему. Микроконтроллер поймет все и так. Ему однозначно, передашь ты 10 в десятичной, A в шестнадцатеричной или 1010 в двоичной системе. Для компьютера и для контроллера это все одно и то же число.
|
#4
|
|||
|
|||
Спасибо за помощь, я воспользовался функцией
Код:
function Hex2Byte(S : String):Byte; const C:string[16]='0123456789ABCDEF'; begin if Length(S) < 2 then Result := Pos(S, C) - 1 else Result := (Pos(S[1], C) - 1)*16 + Pos(S[2], C) - 1 end; |