Практически в любой IDE есть опция контроля ошибок. После установки выпадает список того, что устранить требуется - всего-то пройтись по исходнику и поправить. Синтаксис в Си/С++ штука весьма значимая - раз влез в данные ЯВУ - изучай и запоминай!
Я в адуринке включил "файл-настройки-сообщения компилятора - ВСЕ" и весьма тому доволен. Большинство простейших и все некорректные конструкции заранее указывает.
Исходник с самодельной библиотечкой для дисплея на MAX7219 лежит в папке max72m. Его надо перекинуть в соответствующий раздел IDE перед запуском компиляции. Размер конечно жутковатый - результат компиляции под 10 килобайт, менюшкины экраны весьма примитивны - но то ужшшш...возможности дисплея... Система без RTC на собственном источнике тактирования. Вот тут более серъезная проблема. Основной генератор (на основе прерывания SIGNAL(TIMER0_COMPA_vect) ), как оказалось таки дает суточное отклонение (хотя и стабильное)... Второй вариант - тактирование часов от INT0/INT1+ tone позволяет сделать коррекцию. Но там вылазит нестабильность при одновременной работе главных часов и кого-то из секундомера/таймера. Так что все же лучше (при необходимости) запускать часики от RTC. Ранние конструкции под ассемблером такой пакостью не страдали - но... там я абсолютно владел структурой программы, а в данном случае специально ограничивался рамками "референса". Касательно функционала самого устройства - главные часы (настройка часов, минут, пуск секундомера и корректор точности хода); секундомер; таймер обратного отсчета с возможностью ввода уставки (до 99 часов 59 минут); два будильника с раздельной установкой времени, разрешения и активного уровня на выходе; ну и там еще 4 свободных места под.... фантазию пользователя. Из режима индикации главных часов возможно отключение активированного выхода будильника... УФФ... Описание работы с менюшками для пользователя отдельно попозже постараюсь нашкрябать, ежли настроение творческо посетит...
Ранние конструкции под ассемблером такой пакостью не страдали - но... там я абсолютно владел структурой программы, а в данном случае специально ограничивался рамками "референса".
Я бы обязательно ответил,или чё нибудь посоветовал,но я ничего в этом не понимаю.
А почему программа крутится в первой части (х) ,хотелось чтобы она переходила через некоторое количество циклов на вторую часть. А потом опять возвращалась...
Цитата:
#include <avr/io.h>
#include <avr/interrupt.h>
float x; float y;
int main(x){ x=x+3; sei(); DDRD=(PD0+1); TIMSK=(TOIE0+1); TCCR0=(CS00+1); PIND=(PD0+x);
while(1,x){;} }
int main1(y){ y=y+3; sei(); DDRD=(PD0+1); TIMSK=(TOIE0+1); TCCR0=(CS00+1); PIND=(PD0+y); while(1,y){;} }
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Собственно а зачем? В программе один главный цикл. А уж в него можно вставлять чего угодно - хоть самодельны функции, хоть дополнительные файлы со своими нуждами. И соответственно требуемых условий переключаться между отдельными программами. По такому принципу проект аналога КР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 а ссыль на первоисточник, где оное прописано не предоставите? Мне такое пока в книжах не встречалось...
никак не могу запомнить, какое выражение возвращается оператором запятая - первое или последнее... оно мне как бы и не надо, но чтобы вот такой стреляющий в ногу код понимать, иной раз пригождается
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
При работе с вариативными шаблонами частенько пригождается. Когда надо сделать какое-то дейстаие над всеми параметрами шаблона или взять последний из пачки параметр.
Ну или просто поприкалываться можно. Вот, кмк, смешная по знакам припинания функция
Замечено было, что сия смешная функция (тернарная условная операция) некоторыми компиляторами не очень хорошо оптимизируется, если сравнивать с классической if {} else {}
На такой случай возможно иные варианты нешения более подходящими окажутся. Я на СИшные конструкции смотрю с точки зрения ассемблерных приемов - посему особо усложнять без необходимости желания не имеется - ищем другогй вариант (благо таких в достатке).
Круть-верть... А без RTC с адуринкой никуда... Вопрос в самом RTC... DS1307 работает при питании 5 вольт, DS3231 при 3 (не выше)... Следовательно или питание стационарно от сети или от аккумулятора... А хочется соорудить с питанием от акума и зарядкой от сети (через блочек на TP4056... Но там на схеме может бысть от 5 до 2.5 вольтея при сохранении активного состояния RTC... Из подручного разве что PCF8583 (остальное из области фэнтэзи)...
В одном месте 2,3-5... в другом - типовое 3,3 максимальное 5,5... Но на зарядке стоять аккумулятору несколько часов. Похоже таки проще просто переключать источник с работы на зарядку.
Сейчас этот форум просматривают: Сталкер84 и гости: 34
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения