Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 22 из 22

Тема: преобразования

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Если «это так сниффер преобразует» и не принимать во внимание его мусор с долларами, то:
    Код:
    PROGRAM PLC_PRG
    VAR CONSTANT
    	src: ARRAY[0..9] OF BYTE := 56, 48, 50, 52, 70, 57, 66, 57, 48, 49;
    END_VAR
    VAR
    	i: INT;
    	buf: STRING(5) := '16#00';
    	pBuf: POINTER TO ARRAY[0..4] OF BYTE;
    	result: ARRAY[0..4] OF BYTE;
    END_VAR
    
    pBuf := ADR(buf);
    
    FOR i := 0 TO SIZEOF(result) - 1 DO
    	pBuf^[3] := src[i * 2];
    	pBuf^[4] := src[i * 2 + 1];
    	result[i] := STRING_TO_BYTE(buf);
    END_FOR

  2. #2

    По умолчанию

    Здравствуйте, Цапзап.
    Цитата Сообщение от capzap Посмотреть сообщение
    а в чем ошибка то? Может далее в коде, но здесь то всё очевидно массив строк из одного символа, в Вашем случае, строка может разрастись до 80 символов но ни чем не отличается от первого варианта
    В ходе компиляции у меня ругается на вышеуказанную строку, после внесения изменений программа заработала (CoDeSys 2.3)
    Во вложении сам процесс ругательства.

    Огромное спасибо за наводку. Померил размер занимаемой памяти
    intTemp:=SIZEOF(saHEX);
    и .... ппц.

    Исправил строку на нижеследующую:
    saHEX: ARRAY [0..15] OF STRING(2) := '0','1','2','3','4','5','6','7','8','9','A','B','C ','D','E','F';


    Объем занимаемой памяти снизился с 1296 до 48 байт.

    P. S. Век живи век учись :-)
    Изображения Изображения
    Последний раз редактировалось Gans; 18.06.2019 в 22:07.
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

Страница 3 из 3 ПерваяПервая 123

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •