есть некий кусок кода с помощью которого данные массива переписываются в файл пишутся они в 10-ном формате как сделать чтобы они писались в 16-ном формате ?
Код:
for( uint16_t i = 0; i <= 31; i++ ){ // вывод в файл
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
есть некий кусок кода с помощью которого данные массива переписываются в файл пишутся они в 10-ном формате как сделать чтобы они писались в 16-ном формате ?
Код:
for( uint16_t i = 0; i <= 31; i++ ){ // вывод в файл
существует ли возможность разрешения конкретного перывания во всех прерываниях ?
вы сами-то поняли, чего спросили?
при входе в обработчик прерывания аппаратно запрещаются ВСЕ прерывания, глобально. пока глобально прерывания запрещены - ничего "выборочно" разрешить нельзя.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
безусловно допустим имеется 7 прерываний при срабатывании каждого из прерываний все остальные запрещаются а мне, допустим, надо чтобы при срабатывании любого из прерываний запрещались все кроме 3-го
во-первых, запрещаются не остальные, а вообще все прерывания. во-вторых, то, что вы хотите, можно сделать ручками, но это будет крайне странный, извращенческий подход к решению задачи, уж не знаю, что вы там затеяли.
в нужном вам обработчике прерываний первым делом запрещаете все "лишние" прерывания, т.е. те, которые вам тут не нужны. делается это весьма муторным способом, т.к. флаги разрешения разных прерываний размещены в куче разных регистров: таймерные в TIMSK, АЦП-шное в ADCSRA и так далее. после этого глобально разрешаете прерывания - вуаля! оставшееся "нужное Вам" прерывание сможет обрабатываться! только перед тем, как завершить обработчик вам придется в обратном порядке разрешить все то, то позапрещали ранее...
когда я читаю странный вопрос, я всегда считаю, что вопрошающий избрал неверный алгоритм решения своей задачи, - и почти никогда не ошибаюсь!
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
я даже после литра водки не могу представить, для чего может быть необходимо разрешать обработку какого-то конкретного прерывания во время обработки другого прерывания, притом что остальные должны быть запрещены... возможно, надо не пить, а курить что-то...
поэтому я и предполагаю, что вы пошли не в ту сторону. но без конкретики больше добавить нечего...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
при всем моем уважении, возможно этот принцип и раскрывает вам весь секрет построения алгоритмов но я его постичь не могу
если уж вы взялись работать через прерываия, то, поскольку систему прерываний одноуровневая, то надо определиться самому с приоритетом прерываний. И делать обработчики максимально короткими.
Подскажите, выше увидел что нельзя сравнивать знаковые и беззнаковые переменные. Как тогда выйти с положения. Я просто недавно начал программировать МК на СИ и некоторых вещей еще не знаю. Ниже часть кода, в нем переменныя Error и Error_Integral может иметь отрицательные значения. И еще, код этот взят с аппноута AVR221 и переделан под себя. Вроде все работает, но может логика не такая, как было задумано? Спойлер
Свежий! Я тебя полюбил, я тебя научу(ц): У авр есть куча устройств (цап, приемопередатчик, таймеры) много их и имя им легион. А еще есть устройство - ядро, если можно его так обозвать. Так вот каждое устройство имеет в среднем два регистра управление и обрабатываемое значение. Самое главное - это ядро. Его управляющий регистр - SREG. Каждый битик в нем - это типа переключатель. Значение "1" - можно, "0" - низя. Предположим, у нас есть устройство приемопередатчик. У него есть регистр управления и регистр передаваемого и принимаемого значения. Передатчик - асинхронный. Аврка она восьмибитная, поэтому и регистр значения тоже. А вот регистр управления выглядит например так: ([приемопередатчик вкл.][можно принимать][можно передавать][передача завершена][приняты новые данные][буфер пуст][фантазия][кончилась]) - ну не суть, управляющих регистров может быть over 9k... И для некоторых битов региста управления можно определить набор действий ISR(беги_за_пивом)....
Ядро при каждом такте(считаем что при каждом) проверяет бит "I" регистра SREG. И если оно 1 то ползает по почти всем управляющим регистрам и проверяет где есть 1, и если есть 1 то посылает малчика за пивом. Тоесть SREG - это глава семейства. Предположим мы запустили приемопередатчик, разрешили прием и передачу. Соответственно сразу пиво будут хотеть (буфер передатчика пустой). Предположим что на линии приемника - злая бабка которая беспристанно настукивает свои предъявы " хорош шуметь, опять за пивом поперлись, наркоманы, ша милиционера позову ...."и в этом духе, и наблюдает в форточку через телескоп. Всем рулит ядро-батя. Оно смотрит что пива нет(буфер передатчика пуст) и бабка трезвонит(сообщение принято) но у ядра малчик - один и что важнее пиво или бабка не понятно...поэтому у каждого прерывания есть приоритет. Тоесть либо шашечки либо ехать, и это у аврины забито железно, сапогами, по "морде и попе бляхой от армейского ремня". Малчик бежит за пивом, мимо бабки, при этом батя не может послать еще малчика, в это время бит "I" принудительно ставится в 0. но малчик не дурак, он звонит бате и говорит - бабка приперлась и батя берет это дело на карандаш, выставляя бит (принято сообщение). Если малчик щустрый то он принесет баночное почти сразу, а если пошел за разливным или попал на очередь... Положим малчик был быстр, то он отдает бате пиво, тот его залпом уговаривает (прерывание "буфер пуст" - закончилось и еготфлаг будет выставлен в 0 - малчик за пивом то сгонял, ога)))))) , бит "I" автоматом вернулся на 1, и малчик идет разбираться с бабкой...т.к у бати все ходы записаны... Если малчик ходил долго, то по приходу он бате скажет - бабка дверь того...поцарапала, и на карандаш возмется " буфер приемника переполнен". И малчик пойдет рулить с бабкоц не только за "хорош шуметь" но и за поцарапанную дверь, при этом инструкции в процедуре main - никто не отменял... Пылесосить и уроки учить малчику мама наказывала.
Теперь о говнокодинии... Послав малчика, в процедуре "за пивом" ему сказать если че то вернись – малчик и за пивом не сбегает толком, и с бабкой не разрулит. Малчику надо выдавать блокнот, чтоб тот все "предъявы запомнил" тоесть программеру нужно внутри прерывания определять что было куда плыть и кто все эти люди.
Спасибо за внимание. Вы прочитали радиомоноспектакль "авр и п - рерывания - на пальцах" для продолжения банкета пишите письма и высылайте деньги мелкими купюрами на безналичный расчет....))))))
ЗЫ и хохмы ради, и образования для. С ув. тов. c2n
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения