Просмотр полной версии : Панель СП307Б + макро функция = виснет.
Malyshevsergey
23.03.2016, 11:53
Здравствуйте!
При записи макро функции *(float*)(PSW+407)=PSW[413]/255.0; панель виснет.
Что делать?
Евгений Кислов
23.03.2016, 12:26
Здравствуйте!
При записи макро функции *(float*)(PSW+407)=PSW[413]/255.0; панель виснет.
Что делать?
При обращении через указатели надо выравнивать адреса, чтобы они были кратны 2. Т.е. сделайте так:
*(float*)(PSW+406)=PSW[413]/255.0;
Внесем это в следующую версию РП.
Malyshevsergey
23.03.2016, 12:45
1 Да.
2 Замечательно, а мне что делать?
Как мне получить данные типа float?
Да и все математические операции в макро функции дают зависание.
Евгений Кислов
23.03.2016, 12:50
1 Да.
2 Замечательно, а мне что делать?
Как мне получить данные типа float?
Да и все математические операции в макро функции дают зависание.
Вам необходимо размещать float в памяти панели по кратным двойке начальным адресам. Т.е, например, PSW300-301, PSW302-303 и т.д. Но ни в коем случае не PSW301-302, PSW303-304 и т.д.
Вот рабочий пример - забираем float из PSW300-301 и кладем в PSW400-401:
*(float*)(PSW+400)=*(float*)(PSW+300);
Malyshevsergey
23.03.2016, 12:59
Вы меня не поняли.
Мне нужно разделить одно число на другое и результат должен быть float.
Результат у меня находиться по адресу PSW406-407. Зачем мне его копировать в другой регистр?
Евгений Кислов
23.03.2016, 13:02
Вы меня не поняли.
Мне нужно разделить одно число на другое и результат должен быть float.
Результат у меня находиться по адресу PSW406-407. Зачем мне его копировать в другой регистр?
Т.е. при исполнении кода
*(float*)(PSW+406)=PSW[413]/255.0;
панель зависает?
Malyshevsergey
23.03.2016, 13:07
Сори ошибся в было 407
Исправил на 422 пока все работает
Евгений Кислов
23.03.2016, 13:09
Сори ошибся в было 407
Исправил на 422 пока все работает
Необходимо следовать рекомендации из поста #4, тогда все будет нормально. Постараемся решить эту проблему в будущих версиях.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot