Например TDA7294

Форум РадиоКот • Просмотр темы - WinAvr в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Ср авг 12, 2020 12:47:47

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2078 ]     ... , , , 103,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср мар 21, 2018 15:46:38 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Вс ноя 22, 2015 00:52:38
Сообщений: 35
Откуда: Днепропетровск
Рейтинг сообщения: 0
Подскажите мне надо в рабочей прошивка транзитестера поменять цвет фона и шрифта.Где это можно прочитать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср мар 21, 2018 19:43:52 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 259
Откуда: Чебоксары
Рейтинг сообщения: 0
Здравствуйте! может кто объяснить на примере как применяется макрос ISR_NAKED


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

В сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср мар 21, 2018 23:09:31 
Друг Кота
Аватар пользователя

Карма: 83
Рейтинг сообщений: 881
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4453
Откуда: Минск
Рейтинг сообщения: 1
При входе в прерывание (обычный ISR(.._vect)) сохраняется текущий контекст. Для этого генерируется код в начале прерывания, который текущие регистры сохраняет в стек, и в конце, который возвращает всё назад.

Добавляя ISR_NAKED, можно запретить генерировать этот код. Если прерывание не выполняет ничего критичного (не вычиляет ничего, не меняет регистр статуса), например, дёргает какой-нибудь порт, это сэкономит ресурсы и ускорит вход-выход из прерывания. Если же что-то вычисляется в прерывании, и используются для этого те же регистры, что были использованы в основном потоке, то при выходе из прерывания, может быть порча данных.

Вывод - при использовании ISR_NAKED нужно самому позаботиться о сохранении контекста (или его части) в стек и о вычитывании его назад.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Чт мар 22, 2018 11:50:24 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 259
Откуда: Чебоксары
Рейтинг сообщения: 0
Цитата:
Вывод - при использовании ISR_NAKED нужно самому позаботиться о сохранении контекста (или его части) в стек и о вычитывании его назад.
Спасибочки, это стало понятно :beer:


Вернуться наверх
 
Быстро и просто. Разработка бюджетного неизолированного источника питания на контроллере VIPer122

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

Читать статью>>
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вс апр 22, 2018 21:06:57 
Потрогал лапой паяльник

Карма: 2
Рейтинг сообщений: -5
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 368
Рейтинг сообщения: 0
Разобрался.)


Вернуться наверх
 
Микроконтроллеры STM32G4 полностью заменят STM32F3?

С начала выпуска микроконтроллеров STM32F3 прошло 8 лет. Изменились как технологии, так и потребности рынка. Понимая это, компания STMicroelectronics разработала новое семейство микроконтроллеров STM32G4 для систем со смешанными сигналами. Эти микроконтроллеры превосходят своих предшественников из семейства STM32F3 по уровню быстродействия, богатству периферии и при этом обеспечивают более низкий уровень потребления.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср июн 27, 2018 14:16:54 
Сверлит текстолит когтями
Аватар пользователя

Карма: 6
Рейтинг сообщений: 35
Зарегистрирован: Пт ноя 27, 2009 19:47:13
Сообщений: 1136
Откуда: Казань
Рейтинг сообщения: 0
Привет.
Изучаю Си, пересел с ассемблера, до этого на Си не писал.
Программку набросал следующую: имеется таймер, три кнопки управления (PD4 - Stop, PD2 - Select, PD3 - Start), 5 светодиодов индицируют выбранное время 1..5мин, пищалка пищит по окончании.
Студия 4.19 с тулчейном встроенным, контроллер atmega48pa, проект закрепил в архиве.
Компилирую, начинаю отлаживать и вот после входа в бесконечный цикл программа выполняет участок кода по непонятной мне логике, а только потом идет на оператор switch. В регистре PIND сымитировал ненажатые кнопки, но судя по дизассемблеру программа даже не проверяет кнопки, а сразу бежит выполнять один из case.
Подскажите пожалуйста, где косяк, может еще чего заметите, что я неверно сделал.



Вложения:
Timer v1.0.rar [18.42 KiB]
Скачиваний: 149
Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Пн авг 13, 2018 16:37:52 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 133
Рейтинг сообщения: 0
Добрый вечер, вопрос такой функция переполняет стек
Код:
uint64_t  delit;
uint64_t  delim;
uint64_t  my_sf;

uint64_t any_podeli(uint64_t dalc){

 
 delit=(my_sf*my_sf*395*dalc)/10;

 delim= 1000000000000000000/delit;
 return delim;

}


А формула такая L=1/4*П*П*f*f*c
А словами индуктивность равна 4 пи в квадрате умножить на частоту в квадрате и умножить на емкость в контуре.
Короче протеус пишет что выходим за рамки стека, может есть вариант как то по другому производить вычисления?


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вт авг 14, 2018 06:42:01 
Вымогатель припоя
Аватар пользователя

Карма: 9
Рейтинг сообщений: 154
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 699
Откуда: Караганда, Казахстан
Рейтинг сообщения: 0
Не вникал, причем здесь стек, но я такие задачи, обычно, решаю примерно так:
Здесь емкость в пикушках, частота в герцах, а индуктивность получается в десятках наногенри. В принципе, если частота выше 10 Гц, перед делением переменной wrk на емкость ее можно умножить на 10, тогда результат будет в наногенри. Впрочем, при частоте в единицы герц точность не получишь, вернее частоту надо будет представлять не в герцах, а, допустим, в миллигерцах. А так, если там сотни кГц - десятки МГц, можно после каждого деления wrk на частоту умножать ее (wrk) на 1000, в чем получится результат - сообразишь.

Да, Студия 4.19, камушек - ATmega328P, программа в симуляторе Студии работает нормально.

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
В сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вт авг 14, 2018 06:59:56 
Друг Кота
Аватар пользователя

Карма: 83
Рейтинг сообщений: 881
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4453
Откуда: Минск
Рейтинг сообщения: 4
А если посчитать не в uint64_t, а в float? Да, на 8бит МК лучше избегать использования форматов с плавающей точкой, но это может быть лучше расчётов с такими бешеными коэффициентами.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вт авг 14, 2018 13:32:19 
Вымогатель припоя
Аватар пользователя

Карма: 9
Рейтинг сообщений: 154
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 699
Откуда: Караганда, Казахстан
Рейтинг сообщения: 0
WiseLord писал(а):
Да, на 8бит МК лучше избегать использования форматов с плавающей точкой, но это может быть лучше расчётов с такими бешеными коэффициентами.
Не-а! Не будет лучше. Да и что там такого бешеного? Посчитал в виндовом калькуляторе 1/(4пи квадрат), там же умножил это дело, не мелочась, на 1е24, скопипастил, компилирую - не лезет! Ладно, начинаю по циферке отбрасывать, 4 отбросил - влезло. Дальше оно только делится, так, что переполнений точно не будет. То есть, конечно, надо было подсчитать и сразу написать 1е20, но я поленился.

Да и потом, преобразовать такое число для вывода - не фиг делать, прикинул, в каких единицах нужен результат, поделил на 10 в соответствующей степени и переводи целое число, хоть библиотечной программой, хоть по-простому, дели последовательно на 10 и собирай остатки. А плавучку переводить? Это же какую-то библиотеку цеплять надо, а она толстая...

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вт авг 14, 2018 13:55:59 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1733
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15673
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
afz писал(а):
Не-а! Не будет лучше.
лучше будет с точки зрения простоты понимания выполняемых действий. для любых инженерных расчетов практически достаточно точности 3 знаков после запятой, поэтому емкость 100 мкФ записывать в с точностью до единиц пикофарад попросту глупо.
плавучка добавить пару килобайт для AVR семейства mega, еще пару килобайт добавит stdio с поддержкой плавучки, в итоге даже в 8-ю мегу все это вместится очень просто, и останется место еще много для чего...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вт авг 14, 2018 14:29:58 
Встал на лапы

Зарегистрирован: Вс авг 01, 2010 16:05:25
Сообщений: 133
Рейтинг сообщения: 0
Не вникал, причем здесь стек, но я такие задачи, обычно, решаю


Спасибо за способ. С таким решением кода занимает на 4% в ATmega16, не знаю но Протэус всё равно пишет
PC=0x2FFC. [AVR MEMORY] Writing to memory location 0x04DC outside of memory size 0x0460.
А в реальном такого не замечал, т.е. в протеусе контроллер сбрасывается , а в реальности нет


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вт авг 14, 2018 19:15:43 
Сверлит текстолит когтями

Карма: 34
Рейтинг сообщений: 230
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Сообщений: 1260
Откуда: Харьков
Рейтинг сообщения: 0
Цитата:
PC=0x2FFC. [AVR MEMORY] Writing to memory location 0x04DC outside of memory size 0x0460.

Это уже не флэш-памяти не хватает, а оперативной.

_________________
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вт авг 14, 2018 20:40:44 
Вымогатель припоя
Аватар пользователя

Карма: 9
Рейтинг сообщений: 154
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 699
Откуда: Караганда, Казахстан
Рейтинг сообщения: 0
Похоже, Протеус колбасит слегка. У меня Студия отчиталась, что оперативка (.data + .bss + .noinit) 280 байт, стек в самой глубине вызовов не превышает 100 байт и все прекрасно работает. Естественно, никаких выходов адресов за область ОЗУ не наблюдается.

Кстати, поражен оптимизаторскими способностями GCC. Заглянул в дизасм программы в том виде, как я ее опубликовал - о ужас! Никаких вычислений нет! Там же вызов с аргументами в виде констант, так компилятор вычислил все заранее и все действие в программе свелось к передаче результата этих вычислений в переменную industance (она же volatile). Пришлось править main(), а именно - модифицировать вызовы lcalc().

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Вт авг 14, 2018 21:14:41 
Друг Кота
Аватар пользователя

Карма: 83
Рейтинг сообщений: 881
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4453
Откуда: Минск
Рейтинг сообщения: 0
Насчёт оптимизации - это верно.

Вот интереса ради можно, например, посмотреть, как gcc оптимизирует целочисленное деление числа (допустим, 8-битного) на 10. Часто бывает нужно при разборе числа на сотни-десятки-единицы для вывода на индикатор.

ЕМНИП, в дизассемблере это будет выглядеть как умножение на 205 (два такта) и сдвиг старшего байта результата вправо на 3.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Ср авг 15, 2018 11:44:48 
Вымогатель припоя
Аватар пользователя

Карма: 9
Рейтинг сообщений: 154
Зарегистрирован: Сб дек 22, 2012 08:17:42
Сообщений: 699
Откуда: Караганда, Казахстан
Рейтинг сообщения: 0
ARV писал(а):
поэтому емкость 100 мкФ записывать в с точностью до единиц пикофарад попросту глупо.
Так с ёмкостью 100 мкФ колебательных контуров и не бывает. Максимум 1-2 мкФ, и то, это при измерении больших индуктивностей (десятки Гн). А обычная для радиолюбителей практика - ёмкость в контуре - десятки-сотни-тысячи пикушек, редко когда десятки тысяч.

А еще вопрос, какие есть в наличии точные конденсаторы. У меня, например, лежат насколько конденсаторов КПГ - 4226 пФ, 9490 пФ,7530 пФ, все 0.5%, 16450 пФ 1%. До недавнего времени, когда у меня возникала необходимость измерить индуктивность, я клепал на "сопливчике" генератор с одной их этих емкостей, измерял частоту частотомером Ч1-33 и вычислял программой на Бейсике (на писюке) индуктивность. А тут вот наш коллега решил сгородить такое на МК - по всей видимости у него там генератор с эталонной емкостью и измеряемой индуктивностью, частотомер и программа расчета, которую он и отлаживает.

ARV писал(а):
лучше будет с точки зрения простоты понимания выполняемых действий.
Не вижу разницы. Действия одни и те же, а что единицы измерения несколько странные, ну и что?

К тому же у меня острое недоверие к плавучке с 24-битной мантиссой. У нас в Политехе на ВЦ в свое время была ЭВМ Минск-32. Наш политеховский НИС (научно-исследовательский сектор) наклепал на Фортране несколько сотен разных задач, считали вентиляцию шахт, водопроводные и тепловые сети, еще кучу разного. Потом мы получили ЕС 1022, а Минск-32 начали готовить к списанию. Стали переносить задачи. Ладно, там Фортран-4, и тут Фортран-4, перекачали, подправили разночтения (их было очень мало), пускаем - изба фигвам! Многие задачи начали банально врать. Ряды расходятся или сходятся не туда, накопление ошибок и т.д. В конце концов разобрались: у М-32 мантисса 28 разрядов, у ЕС-ок 24. Поставили DOUBLE PRECISION вместо REAL, и все заработало!

_________________
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Сб окт 13, 2018 14:02:51 
Друг Кота

Карма: 14
Рейтинг сообщений: 33
Зарегистрирован: Вс июл 24, 2011 11:38:09
Сообщений: 3180
Рейтинг сообщения: 0
Может кто знает как добавить STK500 в Makefile чтоб шить из Programmers Notepad [WinAVR].
Вижу что народ пытается с ним активно бороться и удаляет везде, а вот мне наоборот надо и его нет

_________________
баланс сосёт


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Сб окт 13, 2018 14:25:34 
Друг Кота
Аватар пользователя

Карма: 83
Рейтинг сообщений: 881
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4453
Откуда: Минск
Рейтинг сообщения: 0
Цель в Makefile для avrdude добавить.

Что-то вроде:
Код:
MCU      = atmega328p

AVRDUDE = avrdude
AD_MCU  = -p $(MCU)
AD_PROG = -c stk500v2
AD_PORT = -P <порт>

AD_CMD  = $(AD_MCU) $(AD_PROG) $(AD_PORT)

flash:
   $(AVRDUDE) $(AD_CMD) -U flash:w:<прошивка>.hex:i

Шить через вызов "make flash". Ну и, естественно, порт и путь к прошивке должны быть верными.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Сб окт 13, 2018 15:07:04 
Друг Кота

Карма: 14
Рейтинг сообщений: 33
Зарегистрирован: Вс июл 24, 2011 11:38:09
Сообщений: 3180
Рейтинг сообщения: 0
Куда деть последнюю строку, матюкает сильно.
Исходник от тестера типо такой https://github.com/svn2github/transisto ... u/Makefile
Для прошивки там только Tool-Program .

_________________
баланс сосёт


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: WinAvr в вопросах и ответах
СообщениеДобавлено: Сб окт 13, 2018 20:44:37 
Друг Кота
Аватар пользователя

Карма: 83
Рейтинг сообщений: 881
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4453
Откуда: Минск
Рейтинг сообщения: 0
А зачем что-то куда-то девать? Там в finish.mk уже есть готовая цель program для прошивки avrdude, просто ею воспользуйтесь


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2078 ]     ... , , , 103,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y