Котуинко

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1394
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край

Сообщение главный колбасист »

А перед while(1){} = вечный цикл, какой нибудь переход по условию вставить,чтобы переходил на вторую часть ?
Контактная информация:
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1454
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

[uquote="BOB51",url="/forum/viewtopic.php?p=4242631#p4242631"]while(1){} = вечный цикл
что такое
while(1,x){} как-то совершенно непонятно...
8)[/uquote]
Учим уроки.) Операция запятая. == while (x);
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Собственно а зачем?
В программе один главный цикл.
А уж в него можно вставлять чего угодно - хоть самодельны функции, хоть дополнительные файлы со своими нуждами.
И соответственно требуемых условий переключаться между отдельными программами.
По такому принципу проект аналога КР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;
  }
}
8)
OKF
а ссыль на первоисточник, где оное прописано не предоставите?
Мне такое пока в книжах не встречалось...
:dont_know:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Какие-то непрвильные книжки вы читаете. Откройте лучше стандрат языка - 6.5.17 Comma operator.
На худой конец, педевикию - ищем оператор с самым низким приоритетом.
Реклама
Эиком - электронные компоненты и радиодетали
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18787
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

никак не могу запомнить, какое выражение возвращается оператором запятая - первое или последнее... оно мне как бы и не надо, но чтобы вот такой стреляющий в ногу код понимать, иной раз пригождается
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

При работе с вариативными шаблонами частенько пригождается. Когда надо сделать какое-то дейстаие над всеми параметрами шаблона или взять последний из пачки параметр.

Ну или просто поприкалываться можно. Вот, кмк, смешная по знакам припинания функция

Код: Выделить всё

bool isKeyPressed() 
{ 
  return key_pressed?key_pressed=false,true:false; 
}
Это ещё без плюсов, там куда смешнее получается.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

МНДЯАА...
"эксклюзив для садомазохизма"...
:facepalm:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18787
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

VladislavS писал(а):взять последний из пачки параметр
т.е. все-таки последний... в этот раз попробую запомнить надольше.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Выкиньте те мифические компиляторы - они не достойны существования.
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Эту функцию (m = n ? a:b) в референс адуринки также "забыли положить", хотя оная там вполне работоспособны и весьма удобна.
:hunger:
Чего не скажешь о вышеупомянутой запятой (,).
:facepalm:
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

На такой случай возможно иные варианты нешения более подходящими окажутся.
Я на СИшные конструкции смотрю с точки зрения ассемблерных приемов - посему особо усложнять
без необходимости желания не имеется - ищем другогй вариант (благо таких в достатке).
8)
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

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

Сообщение Ser60 »

Согласно ДШ, напряжение питания DS3231 может быть в пределах 2.3 - 5.5В.
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

В одном месте 2,3-5...
в другом - типовое 3,3 максимальное 5,5...
Но на зарядке стоять аккумулятору несколько часов.
Похоже таки проще просто переключать источник с работы на зарядку.
:roll:
Пора тему закрывать и "на покой"...
:(
Друг Кота
Аватара пользователя
Сообщения: 3794
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

[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]Опять недосказанность. Проще чем что? Посмотрите на автоматическое переключение на питание от зарядника или аккумулятора на одном транзисторе, или на худой конец на паре диодов, как это обычно делается.
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Неопределенность от отсутствия конкретной схемы - просто "проект с потолка" с разными способами реализации и попыткой получить хороший результат на заведомо не слишком подходящей для того элементной базе.
Больше пользы как учебно-тренировочный материал дает.
Взято за основу ограничение - соорудить аналогию К145ИК1901 под Си/С++ без RTC и исключительно в рамках функционала, предоставляемого референсом ардуиноIDE (не менять функции аппаратной базы, не использовать ассемблерные вставки и подобное).
Плюсиком отработка "векторной клавиатуры" и некоторых сопутствующих приемов.
В принципе то же, что я в начале "винной" под ассемблером для AT89C52 и AtMega8515 соорудил.
Дополнительная введенная неприятность 8-позиционный 7-сегментник вместо ранее применяемого символьного двустрочника.
Собственно сама имитация функционала получилась (возможно не слишком красиво - но то уже "на будущее"), а вот долговременная стабильность /точность хода ... "весьма хромает".
Особо при выполнении двух задач одновременно - скрытые главные часы с отслежкой будильников и текущего работающего секундомера или таймера (3-6 часов работы таймера к примеру). Корректор хода (в рамках ограничений референса) разве что только с одной задачей - счет и отображение времени главных часов относительно успешно справляется. В данном случае RTC - штука избыточная (хотя и возможная).
Поскладывал положительные результаты в папочку для хранения/возможного применения и то хорошо.
Поскольку негативный результат (в рамках заданных условий) испортил настроение - особо интерес к продолжению проекта пока "отложен до лучших времен".
:beer:
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Потихоньку продолжаем садомазохизму с часейками...
В схемке заменил микросхемку RTC на DS3231, установил аккумулятор и модуль зарядки на основе TLP4056.
Соответственно и разводка выводов чуток поменялась.
https://img.radiokot.ru/files/20529/2ucv2v42pd.GIF
Программка также весьма покусана.
prvtm5.zip
(131.26 КБ) 144 скачивания
Основной участок - обслуживание интерактива разночасиковых приложений.
Собственно прикладные модули запланированы как вставки (пока сделаны только тестовые заглушки для проверки главного меню).
Добавлены скоростные преобразователи данных на основе массивов в ПЗУ - это заметное "отступление" от "чистого референса" ибо проект годен только для АВР МК - в других случаях работа с массивами в ПЗУ будет иной...
Далее попытаюсь переработать и минимальные прикладные модули. Возможно чего еще добавится...
:write:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1394
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край

Сообщение главный колбасист »

#include <stdlib.h>
После попытки прописать в код эту чужеродную строку
gcc plug-in: error: object file not found on expected location\**\default\ .elf
в AVR studio что то щелкнуло,и теперь все время при компиляции вылазит эта хрень.
Уже давно все вычищено,и вообще другой проект,а ошибка эта вылазит.
Ничё не понимаю...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15789
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

"указанный объект не существует в данном пространстве"
т.е. или файлик случайно стерся илине то указано.
<> вроде в системной части размещение...
Можно попробовать
#include "stdlib.h"
может поможет...
:dont_know:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1394
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край

Сообщение главный колбасист »

Да,почудила-почудила немного студия,вроде прошло само.
А почему не обнуляется содержимое памяти данных при сбросе(reset) и даже при stop debagging ?
Все обнуляется,а это нет. Приходится полностью закрывать студию,и открывать заново.
Контактная информация:
Ответить

Вернуться в «Разные вопросы по МК»