Наваял на выходных, погода хреновая, делать особо нечего.
Юзал классику 328р т.к. она влегкую симится в проте.
Таймер вааще wdt использовал - работает!
Сам в афиге…
Наваял на выходных, погода хреновая, делать особо нечего.
Юзал классику 328р т.к. она влегкую симится в проте.
Таймер вааще wdt использовал - работает!
Сам в афиге…
Может это какой-то “особый” способ написания программ? По сути тот-же главный майн-луп и ничего лишнего. Только через вектор reset с обходом инициализации. Все просто. В векторе сброса “смотрим” , инициализирована ли память и прочее по особыи флагам, которые сами и придумываем. Я использовал 4 байта (нормальных, не ардуиновских, которые раком в нибблах стоят) плюс инкремент по простенькому алгоритму. Если эта “подпись” есть в памяти и она правильная - через указатель сразу прыгаем на main - loop без прелюдий запихнув в стек 0000h. После выполнения всего цикла main командой ret возвращаемся в вектор reset и все продолжается как будто это обычный цикл майн - луп.
Каждый вектор процедур (функций) имеет свой счетчик и он публичный (глобальный) и обработчик wdt смотрит за ними. Если все “ровно” - то ничего не делает, если какие-то критерии не совпадают - перезапускает вектор полностью или всю программу целиком.
Короче, надо на каком-нибудь крутом форуме спросить, там наверняка знают такой подход.
Если кточо знает - пишите.
Один вопрос, а для чего, оперативы мешьше жрать стала или меньше тиков на одну задачу?
Йожику апкуреному понятно, что оперативу жрет программист а количество тиков генерит компилятор вместе с программистом.
Просто видел такой код лет 10 или больше назад. Там все очень грустно с процом, мегагерц может 50 или около… но там что-то типа ртос и она достаточно жестко выдерживала тайминги. И раньше дэзить было нечем, сейчас есть.
Очень тупой вопрос - кто нибудь сможет написать код без использования еепрома, который сможет посчитать количество нажатий на ресет?
Допустим, пять раз подряд нажали на ресет и зажгли светодиод, в противном случае просто моргаем другим светодиодом. Такого рода примитивная задача может быть решена при помощи кода, который сгенерит ардуина? На Сях и тем паче на асме это просто. Кто смогет на дуне?
Вот для чего все это. Кстати, иносранцы такой финт пинами выкурили аж в 2007 году. На дуне.сс и аврфрике есть подробнейшая статейка по данному багу или может и фиче. Касаемо только 328р. Жаль, я по ихнему “нибельмеса_нигугу” )))
С пик-ами не знаком, видел в пожарных апс или опс, не важно, лет 25 назад хотел познакомится с ними но чойто не получилось.
В теме с ресетами был процессор сименс который управлял гидравлическим насосом. “тупая” коробка, которая работала как переключатель вкыл-выкл с двумя желтыми светодиодами индикации. А вот в режим так называемого обучения эта коробка переходила если несколько раз быстро переключить питание. Очень забавно.
Сейчас очень много чего стало бесплатным из софта, особенно под ляльку. Хочу потрошнуть первый макинтош, как он там устроен изнутри.
И в стиралки еще не лазал, а надо бы. Время будет - займусь.
И очень интересно сравнивать уровень “забугорных” площадок с нашими, скрепными местечками. Ухх…
Буду ждать, может появится симулятор 32-х битных систем на ляльке. Уотт будет чем позанимаццо)