Так можно одельно глобальную переменную обьявить, потом сделать функцию которая будет ее записывать (поскольку почемуто в WinAVR на прямую это делать нехочет), а потом ее использовать в главной функции, но это как-то не то, все таки похимичить нада, чтобы было более оптимально. Хотя уже пробовал jmp, то тоже в WinAVR прыгало не туда куда надо, но еще все таки попробую, может что-то упустил....
_________________ А кота своего я назвал квадратом...
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Ни пробовал в компиляторе, или может както через параметр функции обработки перерывания, настроить чтобы, при выходе использовалась ret, а не reti??? Я себе написал выход из функции по адресу... Вышел, но переменные при этом не сохраняються, да и стек остается, гонивно выходит...., можно было б в конце, когда весь код написан, скопировать дисасемблерный код, который выполняет возобновление переменных и возврат в функцию, только заменив при этом ret на reti. Но это тоже гон..., проще и в правду запретить те прерывания которых опасаешся, а потом возобновить...
_________________ А кота своего я назвал квадратом...
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
такая фигня тут со мною произошла.
повторяю один девайс, и в прошивке необходимо поменять некоторые данные.
сел сегодня, допаял... думаю, надо бы уже прошивку залить...
но make all выдает кучу ошибок...
сколько не пробовал устранить ошибки, ничего не получилось...
мож у меня компиляттор слишком старый(ну или слишком новый)?
выложил тут архив с исходниками... кому не сложно, попробуйте скомпилировать у себя - получится или нет...
я бы и не пытался чего сделать, да он (автор) hex выложил, значит исходники правильные.... хотя кто их, фрицев, знает...
буду очень благодарен за помощь/совет...
Вложения:
Комментарий к файлу: проверил - вирусов нет :-) mp3_src-0.1.zip [28.12 KiB]
Скачиваний: 545
_________________ ех... дайте веревку и мыло...
Последний раз редактировалось jax Ср ноя 07, 2007 20:28:07, всего редактировалось 1 раз.
спасибо за ссылочки...
патч не помог...
винавр почти докачал...
и тут до меня дошло в чем дело...
мож, вопрос не в тему... но все же...
конечно, компиляция начинается с mp3.c, и тут у него ступор: функций описаний нет в файлах *.h, они все в *.c, а они нигде не include...
я что-то не то делаю, да? подскажите, как эти файлы с функциями включить в проект... а то совсем грустно, что голова пуста...
пойду еще поковыряю...
поставил винАвр 2004 года... патч сверху, а то матерился на версию gnugcc...
и все равно не хочет... вроде берется, но пишет:
Цитата:
C:\WinAVR\utils\bin\make.exe: *** No rule to make target `*.o', needed by `mp3.elf'. Stop.
вот такая фигня... делаю свой makefile, та же ошибка с определением функций...
через 30 минут мож это и не Вин Авр вовсе, я АврСтудио?
ни разу не работал с ней, поэтому только щас об этом подумал...
Студио использует Makefile? я из-за этого файла подумал на ВинАвр
да от безнадеги
не, правда, функции описаны в файлах *.c, а в главной программе только хидеры включены, а они, в свою очередь, тоже только на хидеры ссылаются...
я вот не в курсе... так и должно быть?
ребят, попробуйте у себя... мож я что-то не так делаю? в проекте все файлы указаны...
После этого компиляция идет нормально. Попробуй. Да, кстати, обрати внимание, что схемы в этой статье не соответствуют прошивке. В теме в "Статьях" есть ссылки на правильные (хотя, думаю, ты их уже видел). Если удастся повторить плеер - расскажи, интересно.
Да, еще: мне кажется, что в mp3.c есть косяк (да и компилятор ругается) в основном цикле в строке
Aheir, спасибо... попробовал на WinAVR 20040404, ругается на invalid lvalue in assignment, попозже попробую на 20070525, мож получится чего...
это плеер не с этого сайта.
http://members.liwest.at/dobretsb/stephan/mp3player.html тут немецкие товарищи по пояльнику свою конструкцию выложили.
да, если честно, все началось с того, что у меня нет кварца на 25 МГц, поэтому решил заменить его на кварц 30 МГц, а для этого код надо поменять, иначе проигрывать быстрее будет...
теперь уже понял, что зря в это полез, завтра поеду в соседний город за мегой (спалил седня последнюю в ходе экспериментов на стабильность работы) и кварцы прикуплю...
если интересно, то обязательно выложу результаты экспериментов...
кстати, если есть проблемы с покупкой vs'ок, то их можно попросить у производителя. вот мне, если бы я заказал их в инет-магазине, они шли бы недели 3-4, а так авиапочтой за неделю пришли. бесплатно... но это по секрету никому не говорите
пока писал, подумал: а можно ли сжечь кварц при пайке? а то я все на мегу думаю, а ведь, как я слышал, авр не так просто убить...
кстати, как можно проверить работоспособность авр? я пытался считать чип в CVAVR, мож еще чего можно сделать?
пока курил, вспомнил...
я все о подозрении на неработоспособность меги...
когда я купил новый, только принес из магазина, спаял схемку на пару диодов, пошел его прошивать, воткнул, загорелись оба диода... просто горели, потом прошил, и они перестали гореть...
когда седня мк не стал работать от батареек, ткнул его в программатор, опять загорелись диоды... думаю, зря волновался, батарейки сели, а он раз, и не читается...
кстати, использую я пять проводков на лпт... мож порт попалил?
Плеер этот с нашего сайта, ну, т.е. на нашем сайте он появился, видимо, с указанной тобой странички, жаль, что с неточной схемой.
Результаты интересны весьма, так что по мере сил буду участвовать в разбирательствах с этой конструкцией.
Бывает, что при пайте от перегрева отваливаются проводники внутри кварца. На совсем малогабаритных кварцах (типа часовых - цилиндрики), например, рекомендуется при пайке придерживать вывод между местом пайки и корпусом пинцетом для обеспечения теплоотвода. А еще у меня как-то кварц умер от падения на пол.
Если мега уже зашита на работу от кварца - подключить любой другой заведомо рабочий да проверить. Иные способы проверки работоспособности МК, кроме как по отклику прошивальщику или по тестовой программе, мне неизвестны. Особенно если не сильно понятно, прошито ли в него что-нибудь, и если да - то что.
Но это все оффтоп в рамках данной ветки.
Кстати, есть предложение таки перебраться в ветку обсуждения этой статьи, будет полезнее и удобнее.
_________________ Оптимизм х (Опыт + Знания) = const
Зарегистрирован: Сб сен 09, 2006 19:00:18 Сообщений: 257 Откуда: СССР
Рейтинг сообщения:0
Что то я не фига не въехал в этот кампулятыр. например строка PORTD=0 - в асме получаетсо хрен знает что, загружает 0 через указатели в какую то область памяти, в итоге ошибка. Как вставлять асм-функции так и не разобрался #ASM{} и подобное - не проходит. В чем прикол? Как его насроить?
Хотел ускорить разработку проэкта, а получилось наоборот, потерял 1 день. Вернулся на АСМ.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения