Перейти к содержанию

Видеокурс по AVR-микроконтроллерам для начинающих


Рекомендуемые сообщения

Попробовал, добился, чтобы компилировалось без ошибок. Верхняя кнопка переключения эффектов работает, а вторая кнопка (скорость) все равно не работает

На всякий случай скину архив с проектами Urok5 - сделан в CVAVR работает как надо. Urok5Atmel - то, что я пытаюсь переделать под Atmel Studio7

CVAVR Opjat Knopki.rar

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

Какая "верхняя кнопка" ? Что за "вторая кнопка" ? Вы о чём ? Причём тут кнопки, если Вы спрашивали про задержку ?
Что за отрывки цитат из собственных мыслей ? Которые мы, если что, читать не умеем...

Ссылка на комментарий
Поделиться на другие сайты

Ну я же прикрепил архив и с протеусом и с исходниками. Там как раз интересная разработка для изучения прерываний. Один вариант в CVAVR - работает прекрасно, первой кнопкой переключаются эффекты, второй кнопкой изменяется скорость эффектов. Я из него пытаюсь сделать вариант в Atmel Studio7 и столкнулся с проблемой при компиляции. 

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

@gogaze ,  конечно код из CV не будет компилироваться в AS7 ,  язык Си Атмел студии хоть и похож на язык CV ,  но много различий в синтаксисе . Много в коде придется подправлять . Смотрите в студии файл iomXXX.h там есть все макросы которые она понимает , сравниваете с текстом СV и правите в понятные студии макросы .

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

5 часов назад, DmitryS сказал:

@gogaze ,  конечно код из CV не будет компилироваться в AS7 ,  язык Си Атмел студии хоть и похож на язык CV ,  но много различий в синтаксисе . Много в коде придется подправлять . Смотрите в студии файл iomXXX.h там есть все макросы которые она понимает , сравниваете с текстом СV и правите в понятные студии макросы .

А зачем тогда атмеловцы в студиях начиная с версии 6.1 в качестве плагина используют CVAVR? Даже в интерфейс студии встраивается генератор кода и тулчейн CVAVR.

Я пробовал в delay.h  закоментировать строку __builtin_avr_delay_cycles(__ticks_dc); - компилируется, но светодиоды начинают зажигаться хаотично

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Для вас что, работа в Студии самоцель? Чем вам CVAVR так не угодил? Чем мучиться, переделывать код с одного компиллятора на другой, давно бы уже реализовали свои хотелки на CVAVRе. Лично я уже много лет пользую именно его и ни на одну Студию не променяю.

Ссылка на комментарий
Поделиться на другие сайты

24 минуты назад, Sergey-Ufa сказал:

Для вас что, работа в Студии самоцель? Чем вам CVAVR так не угодил? Чем мучиться, переделывать код с одного компиллятора на другой, давно бы уже реализовали свои хотелки на CVAVRе. Лично я уже много лет пользую именно его и ни на одну Студию не променяю.

Ну так я первые шаги и делал  в CVAVR, но

Чтобы знать, что твоя жена лучше - надо попробовать чужую!

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

24 минуты назад, gogaze сказал:

Чтобы знать, что твоя жена лучше - надо попробовать чужую!

Одолжите свою, а то ведь кто поверит, что ваша лучше?

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, gogaze сказал:

А зачем тогда атмеловцы в студиях начиная с версии 6.1 в качестве плагина используют CVAVR? Даже в интерфейс студии встраивается генератор кода и тулчейн CVAVR.

Наверное за тем же , что и плагин Ардуино , в студии писать код гораздо приятней . Но компиляцией написанного кода занимается не  студия , а  IDE ардуины . Также наверное и с CV AVR .

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, ARV сказал:

Одолжите свою, а то ведь кто поверит, что ваша лучше?

А мне не надо, чтобы кто-то поверил. Это МНЕ надо!!!

Точно так же одни расхваливают Atmel Studio, другие CVAVR, третьи еще что-то. Вот я сравню и сделаю вывод. Для себя!

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

Образования для! В седьмом уроке на третьей минуте автор говорит, что АЦП может работать в двух вариантах - по прерываниям и вручную. Я не нашел ни где однозначного ответа на вопрос - какой вариант лучше (точнее, быстрее и т.д.) Может кто-то объяснит? Или носом ткнет!

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

Извиняюсь! Просто думал, что если опытные люди увидят мое сообщение, но сразу смогут объяснить разницу или преимущества.

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

Только что, gogaze сказал:

Просто думал, что если опытные люди увидят мое сообщение, но сразу смогут объяснить разницу или преимущества

Оба варианта по точности и скорости одинаковы. Но принципиальное их отличие в том, что за "ручным" следить вы должны самостоятельно, а "по прерываниям" действуешь по принципу "включил и забыл". Например, вам надо снять 100 семплов. В ручном режиме вы сделаете цикл на 100 повторорений запуска АЦП и ожидания его преобразования, а затем сохранения данных в массив. Естественно, пока этот цикл не завершится, более ничего вы делать не сможете. Если сделать по прерываниям, то после первичного запуска АЦП вы можете заниматься своими делами, иной раз проверяя - закончен ли "съем данных" или нет. Многие МК позволяют запуск АЦП делать по аппаратному событию, что вообще развязывает ваши руки для более приятных занятий (не поймите меня не правильно).

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, gogaze сказал:

Образования для! В седьмом уроке на третьей минуте автор говорит, что АЦП может работать в двух вариантах - по прерываниям и вручную. Я не нашел ни где однозначного ответа на вопрос - какой вариант лучше (точнее, быстрее и т.д.) Может кто-то объяснит? Или носом ткнет!

Прерывания гарантируют время реакции процессора на событие, и обычно (точнее всегда!) в документации на процессор есть соответствующий раздел.

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

Для вас это выливается в ответ на вопрос когда вы хотите обработать полученное с АЦП значение:

 в заданное на вызов процедуры прерывания время, или

когда получится опросить флаг в фоновой программе.

Изменено пользователем ruhi

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

Если я вас правильно понял, то когда у контроллера одна задача - проверка АЦП, то можно использовать любой из вариантов? И еще один момент. Основная роль задержки в While (1) - устаканивание показаний на дисплее или... Собранный проект на макетке (читай - в железе) ни какой разницы не показал - что с _delay_ms(200), что без него.

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, gogaze сказал:

Если я вас правильно понял, то когда у контроллера одна задача - проверка АЦП, то можно использовать любой из вариантов? И еще один момент. Основная роль задержки в While (1) - устаканивание показаний на дисплее или... Собранный проект на макетке (читай - в железе) ни какой разницы не показал - что с _delay_ms(200), что без него.

Это уже две задачи, как минимум, выполнить АЦП, и что то сделать с результатом, вывести на экран, например. Раз вы не видите проблем значит вам любой вариант подойдет (обычно)вы же не цифровой обработкой сигналов занимаетесь, а на термометр хоть раз в секунду, хоть в минуту смотреть - разницы нет. Про While (1) я не видел откуда он.

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

29 минут назад, gogaze сказал:

так с урока 8

2017-12-12_195110.jpg

Это-задержка чтоб экран не мельтешил, скорее всего, точно с индикацией связано.

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, ruhi сказал:

Это-задержка чтоб экран не мельтешил, скорее всего, точно с индикацией связано.

Когда я делал практически то же самое на 16х02 то изменение значения этой задержки было очень заметно. На 5110 нет. Может (не знаю как правильно назвать) инерционность у этих дисплеев разная?

Изменено пользователем gogaze

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, gogaze сказал:

Когда я делал практически то же самое на 16х02 то изменение значения этой задержки было очень заметно. На 5110 нет. Может (не знаю как правильно назвать) инерционность у этих дисплеев разная?

а что было заметно то? моргание или значения менялись? 

Что хотим то, вообще, если научиться чем то управлять, то надо внутрь функций LCDprintf, LCDupdate, readADC, presets() залазить и разбираться, что то менять и проверять свои предположения о том на что это изменение повлияет.

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

Только что, gogaze сказал:

Когда я делал практически то же самое на 16х02 то изменение значения этой задержки было очень заметно

Вышеприведенный код в цикле делает Lcd_clear(), поэтому мерцание будет видно обязательно, хоть с задержкой, хоть без. Просто с задержкой оно реже происходит и менее заметно.

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, ruhi сказал:

а что было заметно то? моргание или значения менялись? 

Если задержка была маленькой - значения последнего знака прыгали практически постоянно, без остановки. Да, проект тот был сделан в CVAVR с использованием прерываний  мастером создания проектов.

Да, по совету (не помню откуда) добавил электролит 100х16 на AVREF - тоже помогло.

С этим разобрался, всем большое спасибо! 

Вот теперь главный вопрос: как к этому проекту прикрутить счетчик ампер-часов. В интернете ни уроков ни примеров связанных со счетчиком не нашел. Задавал этот вопрос на других форумах, но ответы типа "Каждую секунду суммируешь текущее значение тока в накопитель. Результат делишь на 3600." - мне, как начинающему, ни о чем не говорят.

Так вот, собственно, огромная просьба - если пример такого кода - тайна, то хотя бы направьте в нужное направление пошагово типа  

 1. Подключить и настроить таймер (или что там надо),

 2. Какую-то переменную создать. ну и т.д. Я думаю - вы поняли.

Изменено пользователем gogaze
Дополнение к тексту

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

22 часа назад, gogaze сказал:

но ответы типа "Каждую секунду суммируешь текущее значение тока в накопитель. Результат делишь на 3600." - мне, как начинающему, ни о чем не говорят.

А других ответов Вы и не увидите, ибо "Вт/ч" - это единица мощности за единицу времени.
Что ещё можно тут сказать, как не "Суммируйте мгновенную мощность, а потом делите на время, за которую делали эту сумму." ?

Ссылка на комментарий
Поделиться на другие сайты

52 минуты назад, Alex сказал:

А других ответов Вы и не увидите, ибо "Вт/ч" - это единица мощности за единицу времени.
Что ещё можно тут сказать, как не "Суммируйте мгновенную мощность, а потом делите на время, за которую делали эту сумму." ?

А жалко, что не увижу! Так как совет 

 

54 минуты назад, Alex сказал:

"Суммируйте мгновенную мощность, а потом делите на время, за которую делали эту сумму."

понятен опытным программистам, а эта тема в форуме относится к "Урокам для НАЧИНАЮЩИХ", к которым я и отношусь. Именно поэтому я и прошу:

 

23 часа назад, gogaze сказал:

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

 1. Подключить и настроить таймер (или что там надо),

 2. Какую-то переменную создать. ну и т.д. Я думаю - вы поняли.

Я на других форумах тоже пытался получить помощь по вопросу счетчика ампер-часов, и в ответ либо тишина, либо отписки ни о чем. По этому поводу у меня сложилось впечатление что:

1. Код для счетчика ампер-часов очень сложно написать и он по силам очень опытным программистам, а такие по подобным темам форумов не лазят. Соответственно и помочь не могут.

2. Либо те, кто может оказать помощь хотят получить за нее что-то. Ну так написали бы!

3. Мистика - на этот вопрос наложено ТАБУ!

Мир не без добрых людей!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...