V2oD2o
Новичок
Всем привет, посколько ранее не сталкивался с такой потребностью - напишу в эту ветку)
Собстенно по сети гуляет такой код:
Собственно знаем что в двух символах 16й системы исчисления - 255 значений 00-FF, как собственно и в таблице ASCII, HEX
Приводить табличку смысла не вижу, ее знает каждый
Есть девайс на COM порте, библиотека serial.class.php, в девас надо писать символами ASCII
Поскольку параметры у девайса в двоичной системе, то самый удобный вариант использование HEX при программировании, кто работает с микроконтроллерами - тот поймет о чем я..
Включение устройства 0h05 выключение 0h81
Так вот, если Hex2String($x) при $x=00..7F - все работает хорошо, а вот следующий разряд - $x=80 в устройство пишется 0h00 и так далее, как будто по кругу пошло 81 = 01, 82 = 02 и т.п.
что за шутка такая ?
Собстенно по сети гуляет такой код:
PHP:
function Hex2String($hex) {
$string='';
for ($i=0;$i<strlen($hex)-1;$i+=2){
$string.=chr(hexdec($hex[$i].$hex[$i+1]));
}
return $string;
}
Собственно знаем что в двух символах 16й системы исчисления - 255 значений 00-FF, как собственно и в таблице ASCII, HEX
Приводить табличку смысла не вижу, ее знает каждый
Есть девайс на COM порте, библиотека serial.class.php, в девас надо писать символами ASCII
Поскольку параметры у девайса в двоичной системе, то самый удобный вариант использование HEX при программировании, кто работает с микроконтроллерами - тот поймет о чем я..
Включение устройства 0h05 выключение 0h81
Так вот, если Hex2String($x) при $x=00..7F - все работает хорошо, а вот следующий разряд - $x=80 в устройство пишется 0h00 и так далее, как будто по кругу пошло 81 = 01, 82 = 02 и т.п.
что за шутка такая ?