Вообще кстати puts() ведь должна сама в конце символ новой строки печатать. У neid либо она не из stdlib.h берется (реализация функции), либо в терминале настроен newline на CR+LF возможно.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
И оставить только sei(); (причем лучше так из #include <avr/cpufunc.h>, без asm()).
Если не поможет, попробуйте в студии из Atmel Start'а сгенерить код и посмотреть что там оно нагенерит. Вообще в мануале пишут что надо асинхронный канал настроить на использование синхронного. Честно с системой событий новых AVR я сам пока не разбирался. Но если бы случился затык, полез бы смотреть код из генератора.
Цитата:
• Configure TCA with the desired frequency and period • Select TCA overflow event as an event source for synchronous event channel 0 • Configure asynchronous user channel 1 (ADC0) to use synchronous event channel 0 as event input • Configure the ADC0 for an ADC conversion triggered by an event
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
neid, очевидно же: putchar('\n'); putchar('\r'); P.S. Хотя и можно и puts обойтись, да
Честно я залез в help, и только перевел описание для библиотеки <stdlib.h> вчера, а до этой библиотеки <stdio.h> долез сегодня после вашего сообщения, и увидел что вы имеете ввиду - void putchar(char c);. Вообще я только постигаю все это дело и многие мои тупые первые ошибки гуглю или ищу на форумах более менее правильно объяснение... и может мне первым делом надо было понять для чего эти библиотеки, и как они работают. Но нам же уже надо в УАРТ данные слать))))
NStorm писал(а):
Вообще кстати puts() ведь должна сама в конце символ новой строки печатать. У neid либо она не из stdlib.h берется (реализация функции), либо в терминале настроен newline на CR+LF возможно.
Из нее самой stdlib.h , подключена еще alcd.h. Я пока не в железе, а в Протусе, не увидел там таких настроек терминала.
Мужики в любом случаем спасибо, ошибки свои понял что я не так делал!)
А вот заработало, когда EVSYS.ASYNCUSER0 на EVSYS.ASYNCUSER1 поменяла. Может поделитесь почему 1 должен быть?
USER канал в EVSYS - это "получатель" сообщения. Конкретно именно ADC0 находится в ASYNCUSER1. Это написано в таблице 14.5.5:
Т.е. при n=1, выбираем "целью" события ADC0. Значит писать надо в EVSYS.ASYNCUSER1. Чуть ниже небольшая таблица, которая показывает 4 варианта что можно туда записать - это тот канал, с которого будем принимать сообщения. "Отправитель", это там где просто канал, без USER. Т.к. у нас отправитель TCA0_OVF_LUNF - он находится в SYNCCH0 (табл. 14.5.4), поэтому и пишем сюда 0x1. Тем самым говоря, что отправитель был задан в канале SYNCCH0.
Вы же получателем выбрали сам таймер обратно, записав в EVSYS.SYNCUSER0 = 1 (табл. 14.5.6). А если писали в EVSYS.ASYNCUSER0 - то отправляли событие в таймер Б (TCB), соотв. по таблице 14.5.5.
Чуть ниже небольшая таблица, которая показывает 4 вариант что можно туда записать - это то, кто будет "отправитель" сообщения.
Это не отправитель, а выбор канала, по которому будут приходить события. А вот к уже выбранному каналу необходимо привязать отправителя. Каких отправителей на какой канал можно повесить - надо смотреть даташит. Асинхронный канал предназначен для асинхронных событий (фронты этих событий не синхронизируются с тактовой частотой МК) от внешних ног, от асинхронных таймеров.
Lilia, вообще по-умолчанию должно быть. Попробуйте обновить студию и Pack поддержки семейства МК (не помню где, но где-то отдельно там в опциях они есть). Студия сейчас кстати Microchip Studio стала называться.
У меня новый вопрос. Пытаюсь настроить внешнее прерывание в том же attiny1607. В регистре INTFLAGS по внешнему событию в порта А меняется бит, но прертывание не происходит. Прерывание таймера и АЦП удалось настроить. Не понимаю в чем может быть дело.
Код:
PORTA_PIN2CTRL=0x01; //Sense both edges SREG = 0xD0; //Global Interrupt Enable
Приветствую. Я с новыми мк AVR не работал. Посмотрел бегло даташит на упомянутый камушек. Что могу сказать. Интересненько. От классических авр есть во многом серьёзные отличия. Хотел бы поинтересоваться насчёт впечатлений об этих камушках. Что скажете? Плюсы, минусы.
Demiurg, там много из xmega перекочевало. Камни классные, себе взял attiny1614 на поиграться, но пока только соб-но и "игрался" с ними только. Преимуществ масса. Просто на порядок более развитая периферия, которая местами даже лучше stm32 (ничего против stm32 не имею, местами там лучше, просто факты что местами у 0-series/1-series AVRок есть круче вещи). Недостатки - сходства с классическими AVR очень мало, осваивать почти заново всё надо. Программатор нужен UPDI, это легко решаемо в принципе, полно вариантов уже из чего их собрать. Что USBAsp есть мод., из CH340 переходника можно сделать и т.д. Я покупал оригинальный Snap! за $15 - работает в родных IDE + есть отладка железная (не проверял правда пока). Как-то так. ЗЫ. Помимо тинек у них подобные штуки еще в линейке мег появились: https://www.microchip.com/wwwproducts/en/AVR128DA64
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения