FlowCode

sashok17

Кто пользовался программой? Я вот попробовал, понравилась (только начал). Но вот не могу заставить гаснуть светодиод при отключении высокого уровня с одного из входов микроконтроллера. То есть, подаем на вход PB0 - высокий уровень, светодиод горит, ничего не подаем (низкий уровень) -светодиод гаснет. А у меня получается что при подаче высокого уровня светик загорается, и больше не гаснет.
В программе использовал три блока: ВХОД, ВЫХОД, РЕШЕНИЕ и метку goto (в СИ).

И такой вопрос, что есть макросы в программе? за что они отвечают?

Симулирую работу в протеусе.

Может есть где самоучитель по флаукод? Я в интернете не нашел=(

Dj_smart
sashok17:

ничего не подаем (низкий уровень)

Низкий уровень- это не висяк в воздухе. Это замыкание на минус.

sashok17

Ок, пусть висяк будет.

Стоп, низкий уровень - уровень логического 0. То есть висяк. Или я не прав?

И еще такая проблема. Сделал простую мигалку. Во флаукод все работает как надо, скорость такая какую я задал. Но когда я собрал схему в рпотеусе, сокрость мерцания напрямую стала зависеть от частоты внутреннего генератора. И почему-то не получилось перевести на внешний кварц…

dollop

Даташиты нуна читать.
Лог. 1 гарантировано наступает при напряжении более 60% от напряжения питания МК
Лог. 0 гарантировано наступает при напряжении менее 20% от напряжения питания МК. Короче, хочется 0, вешаем ногу на землю. Никаких висяков для нуля.

sashok17:

И еще такая проблема. … И почему-то не получилось перевести на внешний кварц…

Не вижу какой проц (хотяб фирму) мучаем.
В протеусе, равно как и во FlowCode нужно выставить одинаковые тактовые частоты для микроконтроллера.

sashok17

Микроконтроллер мега 8. Во флаукод вписывал значение частоты, и такую же выставлял в протеусе, разница мерцания заметна даже на глаз, причем в железе так же само. И не получилось выставить фьюз для тактирования от внешнего кварца. Вышло что выходы под кварц микроконтроллера подсвечены красным в протеусе, но частоты нет. Следовательно проц не работает. 0%

dollop

В протеусе частоту нужно ставить не кварцем (на схеме), а в окне свойств микроконтроллера. При этом протеусу все равно прицеплен кварц к выводам или нет.

sashok17

Так с отключением светодиода разобрался! И вправду, воздух - это не земля=) Спасибо Константин

dollop:

В протеусе частоту нужно ставить не кварцем, а в окне свойств микроконтроллера

Ну я так и делал

Он тупо не хочет тактироваться от внешнего кристалла

sashok17

Выкладываю проэкт. как видно в флаукоде стоит одна задержка, а в протеусе получается совсем другая (даж по осциллографу видно). Что я не так делаю?

проэкт.rar

Enigm

А в самом Фловкоде частоту проца настроили ? Там кажись по умолчанию 20мегагерц стоит и не важно для кокого проца
Хотя Протеус ближе к железу симулирует чем сам Фловкоде, было уже не раз в мловкоде одна частота в протеусе другая, а в железе как в протеусе )))

Вот почитайте flowcode.info там много чего есть и примеры и форум, кде можно задать вопросы, да и поакуратнее с переменной Float не все процы понимают и сама прога кривовато с ней работает

Enigm

Странно открыл ваш проэкт в фловкоде, настройка проца 20мегагерц, в протеусе стоит 9.6 мегагерц( странная цыфра) нечего удевительного в разных частотах не вижу

Makey
sashok17:

Может есть где самоучитель по флаукод? Я в интернете не нашел=(

Вот ТУТ поклонники этой программы тусуются, там и описание, примеры и форум.

sashok17
Enigm:

Странно открыл ваш проэкт в фловкоде, настройка проца 20мегагерц, в протеусе стоит 9.6 мегагерц( странная цыфра) нечего удевительного в разных частотах не вижу

А где эту частоту настроить??

sashok17

Нашел

Но несовпадение все равно дикое. Более менее точно получается, если во флаукоде поставить частоту 1 Мгц, а в протеусе поставить 9.6 Мгц… Что за фигня блин…

Вот выкладываю. Что теперь то не так?=((((

проэкт 1.2.rar

Enigm

разница приблизительно в 10 раз ))) и верить тут надо протеусу, а не фловкоде(проверенно в железе) так что то что в фловкоде задержка на 1 секунду, в реале около 10 секунд))
С чем это связанно не знаю, небыло пока необходимости узнавать и разбиратся, выше давали ссылки на сайт с форумом, там спросите

sashok17

я так и понял что верить надо протеусу, так как в железе работает так же как и в протеусе

Enigm

Странно на меге 8 все четко работает )) А вот с вашей тинькой лажа )) не хотит.
Вот сам проэкт на меге8 все работает, видать есть проблемы с некоторыми процами

123.rar

sashok17

да я только что на меге 8 тож поропбовал, все норма пашет, все четко по времени!

Enigm

Пишите на форум данный выше, может там помогут
Только если помогут не забудте тут отписатся.

dollop
sashok17:

Более менее точно получается, если во флаукоде поставить частоту 1 Мгц, а в протеусе поставить 9.6 Мгц… Что за фигня блин…

Enigm:

Пишите на форум данный выше, может там помогут

Небось у тини стоит фьюз CKDIV8, отвечающий за деление тактовой частоты на 8. Обратите на это внимание! Снимите фьюз - будет все в 8 раз быстрее работать и в протеусе и в реале. (По-умолчанию фьюз прошит).
И на тот форум с такими заявлениями, смешить людей, ходить не нужно 😃

sashok17

Едрыть через ведро! Вы правы! действительно стоял фьюз деления на 8 !! тьфу блин!

Я правильно понимаю что запись delay_ms(1.5); невозможна?(с запятой)

sashok17

Пробовал!!! Не правильно, там задержка выходит 0.1 мс где-то:)

8 months later
sashok17

В общем странность с микросекундами осталось, они работают неправильно, получается что-то вроде. Ставлю 2 микросекунды, а реально получаю 200 миллисекунд… Ну да ладно. Вопрос следующий, как сделать алгоритм во флаукоде так, чтоб микроконтроллер одновременно обрабатывал две разные программы? То есть не линейно каждую по очереди, а две параллельно? К примеру измерение напряжения на ADC1 и ADC2 и вывод их на какие либо ноги микроконтроллера. Чтоб эти две подпрограммы не зависели друг от друга?

Dinotron

Опа. Сразу по взрослому.

sashok17:

ак сделать алгоритм во флаукоде так, чтоб микроконтроллер одновременно обрабатывал две разные программы? То есть не линейно каждую по очереди, а две параллельно?

А вы не в эти ли дебри так сразу? mtaalamu.ru/blog/1634.html

Diman_Y
sashok17:

К примеру измерение напряжения на ADC1 и ADC2 и вывод их на какие либо ноги микроконтроллера. Чтоб эти две подпрограммы не зависели друг от друга?

Данные с АЦП считываются в прерывании. Потом в главной проге ты просто должен записывать эти данные куда тебе нужно. ОС для этого дела по идее не нужна. Но что такое ОС и RTOS советую прочитать.

Как это сделать в FlowCode я не знаю. 😃