FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Пятница, 09.12.2016, 06:50
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: Сергей, support 
Форум » Баг - Трекер » Не принятые » порядок операторов в СиКоде не соответсвует порядку на плате (приходится множить платы (1.10.4))
порядок операторов в СиКоде не соответсвует порядку на плате
SirYorik Дата: Понедельник, 29.02.2016, 16:08 | Сообщение # 16
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
правый верхний - ни за что бы не догадался.

ну ОК. но тогда я не понял всё равно, с какой радости отмеченный switch вставился в код первым:


или почему  вот этот банальный линейный порядок переставился местами:

Добавлено (29.02.2016, 16:08)
---------------------------------------------

Цитата Слимпер ()
Чтобы не тормозила все время можно было бы сделать так:1. нажал на кнопку на панели
имело-бы смысл привязать эту фишку к кнопке "проверить проект", и галку в настройки (вкл\выкл)
Прикрепления: 3995921.jpg(55Kb) · 0175072.jpg(49Kb)
 
SirYorik Дата: Вторник, 01.03.2016, 14:44 | Сообщение # 17
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
оказывается разделение плат для "пример 3" не особо то помогло.
смотрю логи, ШИМ снова идет в разнос, такое впечатление что коррекция отстает на несколько циклов. полез в код. опять нашел косяк последовательности. он был и в прошлый раз, не стал разглядывать особо, поскольку адские биения вроде ушли, а мелкие не сразу разглядел.


Цитата
if(_gtv22) // свич управляемый stJUMP, второй по порядку в схеме если слева, и третий если справа
{_swi10=(_gtv9)/(88);}
else
{_swi10=_swi4;} // в результате свича фигурирует переменная из предыдущего цикла, а не текущего.
if((_swi10) > (_gtv11))
{_swi3=_gtv11;}
else
{_swi3=_swi10;}
if((_gtv25) <= (0)) // этот свич должен первым идти
{_swi4=0;}
else
{_swi4=_gtv25;}
if(_gtv18)
{_swi5=_swi3;}
else
{_swi5=_gtv4;}
_gtv4 = _swi5;

проставил цифры на схеме, в каком порядке на самом деле выполняет код нарисованную схему:
Прикрепления: 7233063.jpg(46Kb)
 
SirYorik Дата: Вторник, 01.03.2016, 15:04 | Сообщение # 18
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
при попытке отселить кусок схемы на дополнительную плату, FLprog скрашился пару раз. На третий раз сохранялся каждый ход.
теперь верный порядок:

Код
if((_gtv25) <= (0))
{_swi1=0;}
else
{_swi1=_gtv25;}
_gtv32 = _swi1;
if(_gtv22)
{_swi10=(_gtv9)/(88);}
else
{_swi10=_gtv32;}
if((_swi10) > (_gtv11))
{_swi3=_gtv11;}
else
{_swi3=_swi10;}
if(_gtv18)
{_swi5=_swi3;}
else
{_swi5=_gtv4;}
_gtv4 = _swi5;



фиг с ними с доп. платами, но поиск такого глюка выжирает кучу времени.

и глядя на большие схемы в форуме, возникает вопрос - это у меня одного такие приколы, или в тех схемах порядок вычислкний не имет значения?
Прикрепления: 7032888.jpg(52Kb)


Сообщение отредактировал SirYorik - Вторник, 01.03.2016, 15:05
 
Олег Дата: Вторник, 01.03.2016, 15:55 | Сообщение # 19
Гуру
Группа: Проверенные
Сообщений: 730
Награды: 20
Репутация: 15
Статус: Offline
Несколько раз было такое что схема стопроцентно рабочая с точки зрения схемотехники и работающая в Zelio не шли здесь, я просто менял логику работы, так-как о том как это компилируется в Си даже не задумывался, да и толку задумываться, если Си не знаю.
 
VirSpy Дата: Вторник, 01.03.2016, 18:53 | Сообщение # 20
Сержант
Группа: Проверенные
Сообщений: 55
Награды: 3
Репутация: 0
Статус: Offline
Не знаток С. На простых примерах сравнивал разницу. От сюда возникает главный вопрос (особенно для новичков): Как правильно структуировать свою будующую программу ( в какой очередности выстраивть "платы" кнопок, сравнения, часов, индикации и т.д.; возможны ли комбинации разного в одной "плате" (здесь сравнил А с Б - вывел, здесь умножил С на К - вывел), либо: принял-записалпеременную - поигралсяпеременной - вывелпеременную)??

Сообщение отредактировал VirSpy - Вторник, 01.03.2016, 18:58
 
Форум » Баг - Трекер » Не принятые » порядок операторов в СиКоде не соответсвует порядку на плате (приходится множить платы (1.10.4))
Страница 2 из 2«12
Поиск:

FLProg © 2016
Яндекс.Метрика