Котуинко
А перед while(1){} = вечный цикл, какой нибудь переход по условию вставить,чтобы переходил на вторую часть ?
- Реклама
- Сообщения: 1454
- Зарегистрирован: Вт июн 07, 2011 08:03:18
[uquote="BOB51",url="/forum/viewtopic.php?p=4242631#p4242631"]while(1){} = вечный цикл
что такое
while(1,x){} как-то совершенно непонятно...
[/uquote]
Учим уроки.) Операция запятая. == while (x);
что такое
while(1,x){} как-то совершенно непонятно...
Учим уроки.) Операция запятая. == while (x);
Собственно а зачем?
В программе один главный цикл.
А уж в него можно вставлять чего угодно - хоть самодельны функции, хоть дополнительные файлы со своими нуждами.
И соответственно требуемых условий переключаться между отдельными программами.
По такому принципу проект аналога КР145ИК1901 на ардуинке и построен..
Правда чуток с корректором точности хода перемудрил.
Вместо
надо поставить
OKF
а ссыль на первоисточник, где оное прописано не предоставите?
Мне такое пока в книжах не встречалось...

В программе один главный цикл.
А уж в него можно вставлять чего угодно - хоть самодельны функции, хоть дополнительные файлы со своими нуждами.
И соответственно требуемых условий переключаться между отдельными программами.
По такому принципу проект аналога КР145ИК1901 на ардуинке и построен..
Правда чуток с корректором точности хода перемудрил.
Вместо
Спойлер
Код: Выделить всё
// обработчик "генератора секунды"
// главных часов и секундмера/таймера
void mainClk()
{
static int ClkDat = rtime;
ClkDat--;
if (!ClkDat)
{
FCnt_B = 1; ClkDat = rtime;
}
}Спойлер
Код: Выделить всё
void mainClk()
{
static int ClkDat = 5000;
ClkDat--;
if (!ClkDat)
{
FCnt_B = 1; ClkDat = 5000;
}
}OKF
а ссыль на первоисточник, где оное прописано не предоставите?
Мне такое пока в книжах не встречалось...
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
Какие-то непрвильные книжки вы читаете. Откройте лучше стандрат языка - 6.5.17 Comma operator.
На худой конец, педевикию - ищем оператор с самым низким приоритетом.
На худой конец, педевикию - ищем оператор с самым низким приоритетом.
никак не могу запомнить, какое выражение возвращается оператором запятая - первое или последнее... оно мне как бы и не надо, но чтобы вот такой стреляющий в ногу код понимать, иной раз пригождается
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
При работе с вариативными шаблонами частенько пригождается. Когда надо сделать какое-то дейстаие над всеми параметрами шаблона или взять последний из пачки параметр.
Ну или просто поприкалываться можно. Вот, кмк, смешная по знакам припинания функцияЭто ещё без плюсов, там куда смешнее получается.
Ну или просто поприкалываться можно. Вот, кмк, смешная по знакам припинания функция
Код: Выделить всё
bool isKeyPressed()
{
return key_pressed?key_pressed=false,true:false;
}т.е. все-таки последний... в этот раз попробую запомнить надольше.VladislavS писал(а):взять последний из пачки параметр
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
Эту функцию (m = n ? a:b) в референс адуринки также "забыли положить", хотя оная там вполне работоспособны и весьма удобна.
Чего не скажешь о вышеупомянутой запятой (,).

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

Я на СИшные конструкции смотрю с точки зрения ассемблерных приемов - посему особо усложнять
без необходимости желания не имеется - ищем другогй вариант (благо таких в достатке).
Круть-верть...
А без RTC с адуринкой никуда...
Вопрос в самом RTC...
DS1307 работает при питании 5 вольт, DS3231 при 3 (не выше)...
Следовательно или питание стационарно от сети или от аккумулятора...
А хочется соорудить с питанием от акума и зарядкой от сети (через блочек на TP4056...
Но там на схеме может бысть от 5 до 2.5 вольтея при сохранении активного состояния RTC...
Из подручного разве что PCF8583 (остальное из области фэнтэзи)...

А без RTC с адуринкой никуда...
Вопрос в самом RTC...
DS1307 работает при питании 5 вольт, DS3231 при 3 (не выше)...
Следовательно или питание стационарно от сети или от аккумулятора...
А хочется соорудить с питанием от акума и зарядкой от сети (через блочек на TP4056...
Но там на схеме может бысть от 5 до 2.5 вольтея при сохранении активного состояния RTC...
Из подручного разве что PCF8583 (остальное из области фэнтэзи)...
- Сообщения: 3794
- Зарегистрирован: Ср дек 24, 2008 09:58:58
В одном месте 2,3-5...
в другом - типовое 3,3 максимальное 5,5...
Но на зарядке стоять аккумулятору несколько часов.
Похоже таки проще просто переключать источник с работы на зарядку.

Пора тему закрывать и "на покой"...

в другом - типовое 3,3 максимальное 5,5...
Но на зарядке стоять аккумулятору несколько часов.
Похоже таки проще просто переключать источник с работы на зарядку.
Пора тему закрывать и "на покой"...
- Сообщения: 3794
- Зарегистрирован: Ср дек 24, 2008 09:58:58
[uquote="BOB51",url="/forum/viewtopic.php?p=4244624#p4244624"]В одном месте 2,3-5...
в другом - типовое 3,3 максимальное 5,5...[/uquote]Ну так одно другому не противоречит.
[uquote="BOB51",url="/forum/viewtopic.php?p=4244624#p4244624"]Но на зарядке стоять аккумулятору несколько часов.[/uquote]И что из этого? Похоже, часть мысли осталась в голове и на письмо не вышла. Экстрасенс из меня некудышний.
[uquote="BOB51",url="/forum/viewtopic.php?p=4244624#p4244624"]Похоже таки проще просто переключать источник с работы на зарядку.[/uquote]Опять недосказанность. Проще чем что? Посмотрите на автоматическое переключение на питание от зарядника или аккумулятора на одном транзисторе, или на худой конец на паре диодов, как это обычно делается.
в другом - типовое 3,3 максимальное 5,5...[/uquote]Ну так одно другому не противоречит.
[uquote="BOB51",url="/forum/viewtopic.php?p=4244624#p4244624"]Но на зарядке стоять аккумулятору несколько часов.[/uquote]И что из этого? Похоже, часть мысли осталась в голове и на письмо не вышла. Экстрасенс из меня некудышний.
[uquote="BOB51",url="/forum/viewtopic.php?p=4244624#p4244624"]Похоже таки проще просто переключать источник с работы на зарядку.[/uquote]Опять недосказанность. Проще чем что? Посмотрите на автоматическое переключение на питание от зарядника или аккумулятора на одном транзисторе, или на худой конец на паре диодов, как это обычно делается.
Неопределенность от отсутствия конкретной схемы - просто "проект с потолка" с разными способами реализации и попыткой получить хороший результат на заведомо не слишком подходящей для того элементной базе.
Больше пользы как учебно-тренировочный материал дает.
Взято за основу ограничение - соорудить аналогию К145ИК1901 под Си/С++ без RTC и исключительно в рамках функционала, предоставляемого референсом ардуиноIDE (не менять функции аппаратной базы, не использовать ассемблерные вставки и подобное).
Плюсиком отработка "векторной клавиатуры" и некоторых сопутствующих приемов.
В принципе то же, что я в начале "винной" под ассемблером для AT89C52 и AtMega8515 соорудил.
Дополнительная введенная неприятность 8-позиционный 7-сегментник вместо ранее применяемого символьного двустрочника.
Собственно сама имитация функционала получилась (возможно не слишком красиво - но то уже "на будущее"), а вот долговременная стабильность /точность хода ... "весьма хромает".
Особо при выполнении двух задач одновременно - скрытые главные часы с отслежкой будильников и текущего работающего секундомера или таймера (3-6 часов работы таймера к примеру). Корректор хода (в рамках ограничений референса) разве что только с одной задачей - счет и отображение времени главных часов относительно успешно справляется. В данном случае RTC - штука избыточная (хотя и возможная).
Поскладывал положительные результаты в папочку для хранения/возможного применения и то хорошо.
Поскольку негативный результат (в рамках заданных условий) испортил настроение - особо интерес к продолжению проекта пока "отложен до лучших времен".

Больше пользы как учебно-тренировочный материал дает.
Взято за основу ограничение - соорудить аналогию К145ИК1901 под Си/С++ без RTC и исключительно в рамках функционала, предоставляемого референсом ардуиноIDE (не менять функции аппаратной базы, не использовать ассемблерные вставки и подобное).
Плюсиком отработка "векторной клавиатуры" и некоторых сопутствующих приемов.
В принципе то же, что я в начале "винной" под ассемблером для AT89C52 и AtMega8515 соорудил.
Дополнительная введенная неприятность 8-позиционный 7-сегментник вместо ранее применяемого символьного двустрочника.
Собственно сама имитация функционала получилась (возможно не слишком красиво - но то уже "на будущее"), а вот долговременная стабильность /точность хода ... "весьма хромает".
Особо при выполнении двух задач одновременно - скрытые главные часы с отслежкой будильников и текущего работающего секундомера или таймера (3-6 часов работы таймера к примеру). Корректор хода (в рамках ограничений референса) разве что только с одной задачей - счет и отображение времени главных часов относительно успешно справляется. В данном случае RTC - штука избыточная (хотя и возможная).
Поскладывал положительные результаты в папочку для хранения/возможного применения и то хорошо.
Поскольку негативный результат (в рамках заданных условий) испортил настроение - особо интерес к продолжению проекта пока "отложен до лучших времен".
Потихоньку продолжаем садомазохизму с часейками...
В схемке заменил микросхемку RTC на DS3231, установил аккумулятор и модуль зарядки на основе TLP4056.
Соответственно и разводка выводов чуток поменялась.
https://img.radiokot.ru/files/20529/2ucv2v42pd.GIF
Программка также весьма покусана. Основной участок - обслуживание интерактива разночасиковых приложений.
Собственно прикладные модули запланированы как вставки (пока сделаны только тестовые заглушки для проверки главного меню).
Добавлены скоростные преобразователи данных на основе массивов в ПЗУ - это заметное "отступление" от "чистого референса" ибо проект годен только для АВР МК - в других случаях работа с массивами в ПЗУ будет иной...
Далее попытаюсь переработать и минимальные прикладные модули. Возможно чего еще добавится...

В схемке заменил микросхемку RTC на DS3231, установил аккумулятор и модуль зарядки на основе TLP4056.
Соответственно и разводка выводов чуток поменялась.
https://img.radiokot.ru/files/20529/2ucv2v42pd.GIF
Программка также весьма покусана. Основной участок - обслуживание интерактива разночасиковых приложений.
Собственно прикладные модули запланированы как вставки (пока сделаны только тестовые заглушки для проверки главного меню).
Добавлены скоростные преобразователи данных на основе массивов в ПЗУ - это заметное "отступление" от "чистого референса" ибо проект годен только для АВР МК - в других случаях работа с массивами в ПЗУ будет иной...
Далее попытаюсь переработать и минимальные прикладные модули. Возможно чего еще добавится...
После попытки прописать в код эту чужеродную строку#include <stdlib.h>
в AVR studio что то щелкнуло,и теперь все время при компиляции вылазит эта хрень.gcc plug-in: error: object file not found on expected location\**\default\ .elf
Уже давно все вычищено,и вообще другой проект,а ошибка эта вылазит.
Ничё не понимаю...
"указанный объект не существует в данном пространстве"
т.е. или файлик случайно стерся илине то указано.
<> вроде в системной части размещение...
Можно попробовать
#include "stdlib.h"
может поможет...

т.е. или файлик случайно стерся илине то указано.
<> вроде в системной части размещение...
Можно попробовать
#include "stdlib.h"
может поможет...
Да,почудила-почудила немного студия,вроде прошло само.
А почему не обнуляется содержимое памяти данных при сбросе(reset) и даже при stop debagging ?
Все обнуляется,а это нет. Приходится полностью закрывать студию,и открывать заново.
А почему не обнуляется содержимое памяти данных при сбросе(reset) и даже при stop debagging ?
Все обнуляется,а это нет. Приходится полностью закрывать студию,и открывать заново.


