Skip to main content
![]()
![]()
Welcome to EDAboard.com
Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals… and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
-
Digital Design and Embedded Programming
-
Microcontrollers
You should upgrade or use an alternative browser.
Proteus/Arduino Error code 2 — «Can’t copy Arduino library math.h»
-
Thread starterenokoner
-
Start dateJul 14, 2014
- Status
- Not open for further replies.
-
#1

- Joined
- Jun 25, 2014
- Messages
- 2
- Helped
- 0
- Reputation
-
0
- Reaction score
- 0
- Trophy points
- 1
- Activity points
-
13
I’m trying to include the math.h functions and it can’t copy the file.
mksketch -C pro328 -N atmega328p -F 8000000 ../main.ino
[COLOR="#FF0000"]Can't copy Arduino library math[/COLOR]
make -f arduino/Makefile
...
[COLOR="#FF0000"]make[1]: *** No rule to make target `math.l', needed by `libraries'. Stop.
make: *** [main.cpp] Error [/COLOR]2
Error code 2
I can include Servo.h and it creates the appropriate files in the temp project folder. Where does it pull the Servo library from?
Thank you!
Last edited: Jul 14, 2014
-
#2

- Joined
- Jun 25, 2014
- Messages
- 2
- Helped
- 0
- Reputation
-
0
- Reaction score
- 0
- Trophy points
- 1
- Activity points
-
13
-
#3

- Joined
- Aug 1, 2014
- Messages
- 3
- Helped
- 0
- Reputation
-
0
- Reaction score
- 0
- Trophy points
- 1
- Activity points
-
20
I’m trying to include the math.h functions and it can’t copy the file.mksketch -C pro328 -N atmega328p -F 8000000 ../main.ino [COLOR="#FF0000"]Can't copy Arduino library math[/COLOR] make -f arduino/Makefile ... [COLOR="#FF0000"]make[1]: *** No rule to make target `math.l', needed by `libraries'. Stop. make: *** [main.cpp] Error [/COLOR]2 Error code 2I can include Servo.h and it creates the appropriate files in the temp project folder. Where does it pull the Servo library from?
Thank you!
I’m having the same problem , did you manage to solve it ?
-
#4

- Joined
- Sep 11, 2014
- Messages
- 3
- Helped
- 2
- Reputation
-
4
- Reaction score
- 2
- Trophy points
- 3
- Activity points
-
36
- Status
- Not open for further replies.
Similar threads
-
Digital Design and Embedded Programming
-
Microcontrollers
-
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
|
0 / 0 / 0 Регистрация: 24.09.2017 Сообщений: 46 |
|
|
1 |
|
|
29.06.2018, 19:44. Показов 5249. Ответов 21
Решил начать изучать программирование микроконтроллеров, нашел уроки на ютьюбе, установил Atmel Studio 7.0 и Proteus 8 Demonstration. Все делаю по образцу, но протеус выдает ошибку.
__________________
0 |
|
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
29.06.2018, 19:44 |
|
21 |
|
Модератор
8756 / 6546 / 887 Регистрация: 14.02.2011 Сообщений: 22,962 |
|
|
30.06.2018, 08:59 |
2 |
|
светодиоды то куда подключены?
0 |
|
0 / 0 / 0 Регистрация: 24.09.2017 Сообщений: 46 |
|
|
30.06.2018, 09:29 [ТС] |
3 |
|
Я так понимаю в порт B.
0 |
|
Модератор
8756 / 6546 / 887 Регистрация: 14.02.2011 Сообщений: 22,962 |
|
|
30.06.2018, 10:47 |
4 |
|
Я так понимаю в порт B. а второй конец? в воздухе висит
0 |
|
0 / 0 / 0 Регистрация: 24.09.2017 Сообщений: 46 |
|
|
30.06.2018, 11:13 [ТС] |
5 |
|
Да землю забыл, протеус не запоминает, приходиться все время заново делать. Но у меня и с землей ошибку пишет. Миниатюры
0 |
|
Модератор
8756 / 6546 / 887 Регистрация: 14.02.2011 Сообщений: 22,962 |
|
|
30.06.2018, 12:57 |
6 |
|
так у тебя только три светодиода на земле
0 |
|
0 / 0 / 0 Регистрация: 24.09.2017 Сообщений: 46 |
|
|
30.06.2018, 13:03 [ТС] |
7 |
|
Исправил, но ошибка осталась. Миниатюры
0 |
|
1624 / 809 / 146 Регистрация: 13.06.2015 Сообщений: 3,262 |
|
|
30.06.2018, 19:58 |
8 |
|
Есть подозрение, что эта «ошибка» связана с нелицензионной и некрякнутой версией протеуса.
0 |
|
0 / 0 / 0 Регистрация: 24.09.2017 Сообщений: 46 |
|
|
30.06.2018, 21:21 [ТС] |
9 |
|
Версия вроде лицензионная, она демонстрационная нельзя запомнить проект. Но так вроде работать должна.
0 |
|
3010 / 1516 / 189 Регистрация: 28.10.2011 Сообщений: 5,589 Записей в блоге: 6 |
|
|
01.07.2018, 10:00 |
10 |
|
Судя по ошибке, для AVR2.dll нужен ключ, т. е. в демо версии работать не будет. Покупайте микроконтроллер и в нем проверяйте работу программы.
0 |
|
0 / 0 / 0 Регистрация: 16.04.2017 Сообщений: 30 |
|
|
01.07.2018, 10:02 |
11 |
|
тек ты в протеусе программу в микро загрузил ?
0 |
|
0 / 0 / 0 Регистрация: 24.09.2017 Сообщений: 46 |
|
|
01.07.2018, 10:26 [ТС] |
12 |
|
Понятно надо другой протеус искать. Что за микро?
0 |
|
0 / 0 / 0 Регистрация: 16.04.2017 Сообщений: 30 |
|
|
01.07.2018, 10:33 |
13 |
|
надо для начало саму программу в микроконтроллер загрузить в протеусе
0 |
|
0 / 0 / 0 Регистрация: 24.09.2017 Сообщений: 46 |
|
|
01.07.2018, 12:00 [ТС] |
14 |
|
Ну да я загружал, выставлял частоту (как в уроке сказано) и путь к программе.
0 |
|
0 / 0 / 0 Регистрация: 16.04.2017 Сообщений: 30 |
|
|
01.07.2018, 12:25 |
15 |
|
кароче хз у меня такая ошибка вылазить если я программу забываю указать
0 |
|
125 / 43 / 12 Регистрация: 23.03.2018 Сообщений: 169 |
|
|
02.07.2018, 11:24 |
16 |
|
Покажи скрин настроек микросхемы — ну где прошивку и частоту в протеусе выбираешь. Добавлено через 1 час 7 минут
0 |
|
Tonilo 0 / 0 / 0 Регистрация: 24.09.2017 Сообщений: 46 |
||||
|
03.07.2018, 19:22 [ТС] |
17 |
|||
|
Вообще делал по этому уроку. Но у меня другие версии программ.
Миниатюры
0 |
|
125 / 43 / 12 Регистрация: 23.03.2018 Сообщений: 169 |
|
|
04.07.2018, 18:01 |
18 |
|
возможно не работает потомучто wdton programmed стоит. Попробуй выключить его. Добавлено через 3 часа 51 минуту
0 |
|
Модератор
8756 / 6546 / 887 Регистрация: 14.02.2011 Сообщений: 22,962 |
|
|
05.07.2018, 04:33 |
20 |
|
На форум файл не грузиться. зааривируй, и выложи сюда, учти что RAR есть не у всех, заархивируй zip
0 |
|
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
05.07.2018, 04:33 |
|
Помогаю со студенческими работами здесь Proteus vs ? Proteus + C++ proteus Я vs Proteus +gcc Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 20 |
Форум РадиоКот :: Просмотр темы — помогите в протеусе программу открыть.
| Автор: | java [ Пн дек 09, 2013 22:26:11 ] | |
| Заголовок сообщения: | помогите в протеусе программу открыть. | |
|
Здравствуйте. Человек написал мне программу, и у меня в протеусе не открывается, другие программы все открываются, а эта нет, пишет 2 ошибки какие-то, а у него всё работает, вот картинки — моя и его. Вложение:
Вложение:
и програмка
|
| Автор: | Halex [ Пн дек 09, 2013 23:40:17 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу отктыть. |
|
Вызывает глубокие сомнения тот путь, по которому у вас лежит все это. Если судить по скриншоту, там присутствует: Код: …АдминистраторРабочий столНовая папка(2)… Это не есть хорошо, особенно для ранних версий Протеуса. Не любили они русский язык в имени пользователя и в путях к файлам. Попробуйте пару рекомендаций. |
| Автор: | java [ Пн дек 09, 2013 23:51:47 ] | |
| Заголовок сообщения: | Re: помогите в протеусе программу отктыть. | |
|
Halex писал(а): 1. Переложить (и переименовать латиницей) всю папку: Новая папка(2) куда-нибудь с чисто латинским путем, можно просто в корень любого диска. Это уже делал. Не помогло.
|
| Автор: | BCluster [ Вт дек 10, 2013 00:19:57 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу отктыть. |
|
А в папке ..Exe есть этот загадочный data.bin? ) В общем фишка в чем, в пути к EEPROM прошивке, которая и есть data.bin |
| Автор: | java [ Вт дек 10, 2013 00:47:11 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу отктыть. |
|
BCluster писал(а): 4. Радуемся Да плачем уже, не до радости |
| Автор: | vlasovzloy [ Вт дек 10, 2013 02:23:25 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу отктыть. |
|
попробовал только что. у меня работает. isis 7.10 sp 0 |
| Автор: | Halex [ Вт дек 10, 2013 07:45:21 ] | |
| Заголовок сообщения: | Re: помогите в протеусе программу отктыть. | |
|
Н…да, оч.похоже похоже у Вас неудачно отлеченная или русифицированная версия.
|
| Автор: | java [ Вт дек 10, 2013 22:48:43 ] | |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. | |
|
Снёс старую версию, установил 10, запустил ключ, перезагрузился, а оно вона что.
|
| Автор: | BCluster [ Вт дек 10, 2013 23:57:57 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
Ну опять хреново пролечили |
| Автор: | java [ Ср дек 11, 2013 00:10:38 ] | |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. | |
|
Поставил обратно старый протеус, все открывает без вопросов (8штук), а эту опять не открыл, всё тоже самое, это не в протеусе дело, а что-то не то с файлом. ВСЁ ЧТО НЕ ДЕЛАЕТСЯ, ВСЁ ДЕЛАЕТСЯ К ЛУЧШЕМУ
|
| Автор: | Halex [ Ср дек 11, 2013 19:53:00 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
java писал(а): это не в протеусе дело, а что-то не то с файлом. И все-таки дело в Протеусе. Я нашел в своих «закромах» эту версию Протеуса и протестировал на виртуалке c WinXP. Действительно, она дает ту картинку, что Вы приводили в первом посте, а если убрать файл data.bin, так и вообще виснет. Если ищете и в дальнейшем на пятую точку приключений, то флаг Вам в руки, но я бы не рекомендовал Вам пользоваться ей дальше. Даже версия 7.6 была более стабильна, а эта как-то промелькнула, я и не заметил, потому-что быстро перешел на v.7.8, которая держалась довольно долго и работала неплохо. v7.9 и 7.10 тоже нормально работают. Восьмерку пока не могу рекомендовать, поскольку Вы сразу теряете совместимость с предыдущими. Просто распространенные в сети пиратки частично делали турки, частично наши соотечественники. Вот та, кривая 7.7 «прилетела с турецких берегов». Посмотрите — что у Вас на заставке при запуске ISIS внизу — если есть Sonsivri, то точно она. Хотя, у Вас русская версия, а наш доблестный русификатор мог и убрать это слово в заставке. И все-же лучше поищите поновее. |
| Автор: | takei [ Ср дек 11, 2013 20:15:17 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
Извиняйте но вынужден добавить свои пять копеек, Цитата: Просто распространенные в сети пиратки частично делали турки, частично наши соотечественники. Вот та, кривая 7.7 «прилетела с турецких берегов». я конечно не ас в электронике, и никуда не дергаюсь за новыми обновлениями, пользуюсь версией 7.7 уже третий год, взял здесь , глюков не наблюдаю, но раз двадцать уже был свидетелем, что пользователи сами себе создают проблему , и только со временем находят свой косяк, кто то пишет об этом , а кто молчит….. |
| Автор: | otest [ Ср дек 11, 2013 20:38:09 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
Цитата: поправьте пожалуйста если есть основание не доверять той версии 7.7 Доверять советую уважаемому Halex |
| Автор: | java [ Ср дек 11, 2013 21:14:44 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
Да я бы с удовольствием установил хороший протеус, но, во первых совершенно не отличаю английский от узбекского, так что он должен быть только на русском. Во вторых я вчера скачал и установил их штук пять, и ни один не заработал. И только когда я вернул свой старенький, он встал на комп сразу, и открыл всё что у меня было. Ткните меня носом, где скачать, как установить, может тогда что нибудь получится. |
| Автор: | Engineer_Keen [ Ср дек 11, 2013 23:49:45 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
java писал(а): совершенно не отличаю английский от узбекского, так что он должен быть только на русском. А переписать на бумажку и перевести гугль.транслейтом пару десятков слов чтобы не мучаться с кривыми русификаторами, да и для общего развития? Пару раз посмотрите на бумажку и все выучится само собой… |
| Автор: | java [ Чт дек 12, 2013 20:02:41 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
Зачем штаны через голову одевать, когда нормально можно |
| Автор: | Halex [ Пт дек 13, 2013 01:45:24 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
Н…да, старый я котяра стал, и ленивый. Да и не март Щас, чтоб на кошек заглядываться — лизнул под хвостом, почесал за ухом, и баиньки… Ну, в общем причина лежала на поверхности, вот только слегка склероз кошачий подвел, не разглядел сразу. Настолько привык, что старую библу AVR-ов никто не использует в силу ее глюковатости, что и не сразу обратил внимание. Натолкнула на мысль вот эта фраза: BCluster писал(а): лишнее удалил, проводниками соеденил, всё работает! Вот тогда и увидел, что «король то голый». Короче, подвел вас слегка ваш визави — прислал проект со старой моделью Mega8. А проверяется это так: заходим в свойства, ставим галку Edit as text (в русской редактировать как текст и видим (картинка) otest писал(а): Ткните меня носом, где скачать, как установить, может тогда что нибудь получится. Адекватная 7.10 уже давно болтается на Рутрекере. Прямой ссылки не даю, найдете там поиском сами. Не забывайте перед сносом старой версии удалять и лицензию на нее через Licence Manager (Пуск->Все программы->Labcenter Electronics), а после установки новой через него же добавлять файл лицензии от новой. Ну, и неплохо бы после сноса залезть в реестр и удалить две ветки: HKCU->Sofware->Labcenter Electronics и HKLM->Sofware->Labcenter Electronics. Впрочем, одна из них сносится сама при корректной деинсталляции. Удачи! Halex писал(а): Так что извиняйте может и я в заблуждении , но я по прежнему всем рекомендую версию именно с того сайта, поправьте пожалуйста если есть основание не доверять той версии 7.7 Некоторые косяки у моделей микроконтроллеров, особенно AVR, вычищались годами, но даже в версии 7.10 еще присутствуют, хотя их уже гораздо меньше, чем в 7.7. А что касается стоит ли обновляться, так не более полугода назад меня один кадр на Казусе достал с установкой Протеуса. Как выяснилось, он пытался его воткнуть на Вынь98 (других виндов, он, видите-ли не признает!), хотя с седьмыми версиями Протеуса это уже физически невозможно, библиотеки программы заточены под платформу не ниже ХP. Ну и что, нам всем пойти по его пути? Впрочем, вот вам еще один весский довод в пользу свежих версий — вот та программа ТС из первого поста в v.7.10 открылась и запустилась даже со старой моделью без всяких танцев с бубном. Делайте выводы… |
| Автор: | takei [ Пт дек 13, 2013 13:28:07 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
Спасибо за пояснения , полностью согласен, к сожалению первый раз слышу про этот Рутрекер , поищу. |
| Автор: | java [ Пт дек 13, 2013 14:01:14 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
Halex писал(а): Н…да, старый я котяра стал, и ленивый. Да и не март Щас, чтоб на кошек заглядываться — лизнул под хвостом, почесал за ухом, и баиньки… Ну, в общем причина лежала на поверхности, Спасибо, хорошо,когда есть старые и умудрённые опытом коты. Halex писал(а): Не забывайте перед сносом старой версии удалять и лицензию на нее через Licence Manager (Пуск->Все программы->Labcenter Electronics), а после установки новой через него же добавлять файл лицензии от новой. Ну, и неплохо бы после сноса залезть в реестр и удалить две ветки: HKCU->Sofware->Labcenter Electronics и HKLM->Sofware->Labcenter Electronics. |
| Автор: | Halex [ Пт дек 13, 2013 21:27:55 ] |
| Заголовок сообщения: | Re: помогите в протеусе программу открыть. |
|
java писал(а): В рутрекере я тоже скачивал, не встала, но теперь подозреваю, что из за того, что я это не сделал: Вспомнил про Сундук Кота, ну и протестил эту версию в виртуалке. Версия вполне адекватная, так что не фига ходить по всяким трекерам, коты «гуляют самА по себе». Встала на раз-два-три с условием, что лицензии менялись грамотно. Даже реестр не чистил… Вылезло другое — на виртуалке, я для адекватности поставил winXP SP3, причем неоднократно мною проверенныую. Вот именно она и не дала запустить нормально test.dsn из Вашего первого поста. Тех дурацких сообщений не вылезает, но «висяк» полный. Вот видите, как далеко приходится залезать, ну прям как отец Федор на скалу на старой Грузинской дороге. Вот только, в отличие от него, «колбасу» не отдам, а напротив, задам вопрос. Для начала подведем итог нашим «танцам народов Севера». Видимо, тут влияют на адекватную симуляцию еще и системные библиотеки, а они у ВыньXP и Вынь7 или 8 отличаются, как небо от земли. Ну, а теперь (млин, телеклуб знатоков) вопрос: у вашего визави, приславшего проект, какая винда? Мне, как автору всякой «белиберды» по Протеусу это важно, чтоб «оленей» сохранить… |
| Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
Спасибо,я понял,вот еще тут нашел- http://radiokot.ru/forum/viewtopic.php?t=3739
Вот еще-
Основная ошибка всех начинающих работать с Протеусом – установка и запуск программы от имени пользователя компьютера, набранного кириллицей. Протеус не дружит с русскими буквами в путях к файлам. Поэтому, если у текущего пользователя имя «Вася», «Мария Ивановна» и т.п. вы рискуете при запуске симуляции получить следующее красное сообщение в окне log:
Cannot open ‘C:DOCUME~1ТЕКПОЛЬЗLocal SettingTempLISAxxx.SDF’
Simulation FAILED due to fatal simulator errors
где вместо ТЕКПОЛЬЗ закорючки. Это объясняется тем, что при запуске симуляции Протеус пытается создать в данной папке свой файл LISAxxx.SDF, но не понимает русские буквы в абсолютном пути. Есть два пути решения этой проблемы:
1)Изменить имя пользователя на английский вариант.
2)Зайти в Мой компьютер=>Свойства=>Дополнительно=>Переменные среды. В верхнем окне, выбрав переменную TEMP, нажать Изменить и вместо %USERPROFILE%
набрать %ALLUSERPROFILE% (при этом необходимо, чтобы в папке Document and SettingAll Users имелись соответствующие папки Local Settings и Temp их можно просто перекопировать из текущего пользователя (папки СКРЫТЫЕ) или создать вручную). Можно по совету Nemo78 изменить путь на %SYSTEMROOT%Temp (именно так без Local Settings), тогда Протеус будет использовать папку TEMP в системном каталоге Windows.
Введение
Научно-технический прогресс неутомимо идет вперед, в результате не только в промышленной, но и в бытовой технике все шире используются встроенные компьютерные системы на основе микроконтроллеров. Они широко применяются в персональных компьютерах и их периферийных устройствах, стиральных машинах, музыкальных центрах, системах автомобиля и т. д. С точки зрения конструктора-проектировщика главная особенность микроконтроллеров заключается в том, что с их помощью легче и зачастую гораздо дешевле реализовать различные устройства. Следовательно, навыки применения инструмента компьютерного моделирования микроконтроллерных устройств очень нужны разработчикам электронной аппаратуры.
Как и любой компонент электронной схемы, микроконтроллер выбирают на соответствующем этапе разработки устройства. При этом учитывают быстродействие микроконтроллера, наличие нужной периферии, число линий ввода/вывода, потребляемую мощность и другие, существенные для конкретной конструкции параметры. Не следует использовать более мощный микроконтроллер для простейшей задачи, с которой может справиться и более простой (и более дешевый). С другой стороны, не нужно увлекаться слабыми микроконтроллерами, усложняя схему, добавляя схему увеличения числа выводов, так как достаточно часто (но не всегда) экономия, полученная за счет применения более дешевого микроконтроллера, полностью теряется из-за повышения стоимости печатной платы (ведь ее размеры увеличились) и дополнительных элементов.
При выборе учитываются и другие факторы. Порой выбор зависит от характера предприятия, осуществляющего проект. Один из факторов при выборе конкретного типа — это выполнение задачи данным элементом. Если он отвечает своей задаче, не выходит ни по стоимости, ни по габаритам за пределы заданных параметров, то выбор, к примеру, между PIC- и AVR-микроконтроллером может определяться только тем, что специалисты предприятия имеют большой опыт работы с одним типом и малый с другим. Или выбор может быть обусловлен возможностями постоянного поставщика элементной базы.
Программа Proteus позволяет автоматизировать все стадии проектирования электронных устройств, включая подготовку принципиальных схем, моделирование процессов, происходящих в электронных цепях, компоновку и трассировку печатных плат, редактирование и расширение библиотек компонентов.
В Proteus есть возможность эмуляции не только аналоговых и цифровых компонентов, но и микроконтроллеров с возможностью их программирования. При этом в программе доступна огромная библиотека моделей элементов, пополнять которую при наличии определенных навыков может сам пользователь.
Основное отличие программы Proteus от аналогичных по назначению пакетов программ, например Multisim, заключается в развитой системе симуляции (интерактивной отладки в режиме реального времени и пошаговой) для различных семейств микроконтроллеров (табл. 1): 8051, ARM7, AVR, Cortex-M3, MSP430, PIC10/12/16/18/24, PICCOLO, dsPIC33.
|
Семейство |
Модели семейства |
|
8051 |
80C31/32/51/52/54 |
|
ARM7 |
LPC2101-LPC2106, LPC2114, LPC2124, LPC2131, LPC2132 |
|
AVR |
AT90USB1286, AT90USB646, ATmega128/1280/1281/1284P, ATmega16/162/164P/165 |
|
Cortex-M3 |
LM3S300/301/308/310/315/316/317/328, LPC1311FHN33, LPC1313FBD48 |
|
MSP430 |
MSP430C1101/1111/1121, MSP430F1101/1111/1121/2001/2011/2101/2111 |
|
PIC10 |
PIC10F200/202/204/206/220/222/320/322, PIC10LF320/322 |
|
PIC12 |
PIC12C508A, PIC12C509A, PIC12C671/672, PIC12CE518/519/673/674, PIC12F1501, PIC12F1822 |
|
PIC16 |
PIC16C62B/63A/64A/65B/66/67/72A/73B/74B/76 |
|
PIC18 |
PIC18F1220/1230/1320/1330/13K22/13K50/14K22/14K50/2220/2221 |
|
PIC24 |
PIC24F04KA200/201, PIC24F08KA101/102, PIC24F16KA101/102, PIC24FJ128GA006/008/010/306 |
|
PICCOLO |
TMS320F280200DA/200PT/20DA/20PT/21DA/21PT/22DA/22PT/23DA/23PT |
|
dsPIC33 |
dsPIC33FJ12GP201/202, dsPIC33FJ12MC201/202, dsPIC33FJ16GP304, dsPIC33FJ16MC304, dsPIC33FJ32GP202/204, dsPIC33FJ32MC202/204 |
Proteus позволяет моделировать и отлаживать достаточно сложные устройства, в которых может содержаться несколько микроконтроллеров разных семейств одновременно.
В этой статье процесс компьютерного моделирования схем с использованием микроконтроллеров будет рассмотрен на примере микроконтроллеров AVR семейства Mega.
Микроконтроллеры AVR семейства Mega. Общие сведения
AVR — это 8‑разрядные микроконтроллеры, способные решать множество задач встроенных систем. Быстродействие данных микроконтроллеров позволяет в ряде случаев применять их в устройствах, для реализации которых прежде можно было применять только 16‑разрядные микроконтроллеры, а значит, это ощутимо удешевляет готовую систему.
Микроконтроллеры AVR обладают следующими основными характеристиками:
- очень быстрая гарвардская RISC-архитектура загрузки и выполнения большинства инструкций в течение одного цикла тактового генератора. При этом достигается скорость работы примерно 1 млн операций в секунду на 1 МГц. Частота тактового генератора многих типов микроконтроллеров AVR может достигать 10–16 МГц. Отсутствует внутреннее деление частоты, как, например, в микроконтроллерах PIC;
- программы содержатся в электрически перепрограммируемой постоянной памяти программ FLASH;
- система команд микроконтроллеров AVR изначально проектировалась с учетом особенностей языка программирования высокого уровня С, что в результате позволяет получать после компиляции программ на С гораздо более эффективный код, чем для других микроконтроллеров. А это выигрыш в размере полученного кода (в объеме памяти на кристалле) и в скорости работы микроконтроллера;
- микроконтроллеры AVR имеют 32 регистра, напрямую подключенных к арифметико-логическому устройству. Это значительно уменьшает размер программ. В других микроконтроллерах, как правило, для осуществления, например, сложения один из операндов обязательно должен находиться в специальном регистре — аккумуляторе. Таким образом, необходимо сначала его туда занести, затем после выполнения операции нужно переписать из аккумулятора результат в регистр для его хранения. В итоге получается уже три команды. В микроконтроллерах AVR то же самое займет всего одну команду;
- небольшое потребление энергии и наличие нескольких режимов работы с пониженным потреблением энергии делает эти микроконтроллеры идеальными для применения в конструкциях, питающихся от батареек;
- узлы PWM (широтно-импульсная модуляция), таймеры/счетчики, аналоговый компаратор и последовательный порт UART встроены в микроконтроллеры и могут управляться с помощью прерываний, что значительно упрощает работу с ними;
- имеются относительные команды переходов и ветвлений, что позволяет получать перемещаемый код;
- отсутствует необходимость переключать страницы памяти (в отличие, например, от микроконтроллеров PIC);
- все микроконтроллеры AVR имеют электрически перепрограммируемую постоянную память данных EEPROM.
Интересная особенность микроконтроллеров AVR заключается в том, что система команд совместима при переносе программы со слабого на более мощный микроконтроллер.
Микроконтроллеры AVR семейства Mega имеют производительность до 16 MIPS, FLASH-память программ до 256 кбит, память данных EEPROM 512 байт … 4 кбайт, оперативную память данных SRAM 1–4 кбит, встроенный 10‑разрядный 8‑канальный АЦП, аппаратный умножитель 8×8 и предназначены для сложных приложений, требующих большого объема памяти.
В Proteus 8.1 предусмотрена возможность работы со следующими представителями этого семейства: ATmega128/1280/1281/1284P, ATmega16/162/164P/165. В этой статье работа с микроконтроллерами AVR будет рассмотрена на примере микросхем ATmega128 и ATmega16. Аппаратные характеристики данных микроконтроллеров указаны в таблице 2.
|
ATmega16 |
ATmega128 |
|
|
FLASH-память программ, кбайт |
16 |
128 |
|
Память данных EEPROM, байт |
512 |
4096 |
|
ОЗУ данных SRAM, кбайт |
1 |
4 |
|
Количество команд |
130 |
133 |
|
Число линий ввода/вывода |
32 |
53 |
|
Количество прерываний |
17 |
27 |
|
Количество внешних прерываний |
3 |
8 |
|
SPI-интерфейс |
1 |
1 |
|
Последовательный интерфейс UART |
1 |
2 |
|
Интерфейс TWI, совместимый с I2C |
1 |
1 |
|
Аппаратное умножение |
есть |
есть |
|
8-разрядный таймер |
2 |
2 |
|
16-разрядный таймер |
1 |
2 |
|
ШИМ |
3 |
6+2 |
|
Сторожевой таймер |
есть |
есть |
|
Таймер реального времени RTC |
есть |
есть |
|
Аналоговый компаратор |
есть |
есть |
|
10-разрядный АЦП, число каналов |
8 |
8 |
|
Встроенный генератор |
есть |
есть |
|
Детектор снижения напряжения |
есть |
есть |
|
Внутрисхемное программирование |
есть |
есть |
|
Самопрограммирование |
есть |
есть |
|
Напряжение питания, В |
4–5,5 |
4–5,5 |
|
Тактовая частота, МГц |
0–16 |
0–16 |
|
Тип корпуса |
40-Pin DIP |
64-Pin TQFP |
|
44-Pin TQFP |
Выводы микроконтроллера ATmega16 имеют следующее назначение (рис. 1а):
- XTAL1 — вход тактового генератора;
- XTAL2 — выход тактового генератора;
- RESET — вход сброса микроконтроллера;
- PA0–PA7 (ADC0–ADC7) — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами (вход АЦП);
- PB0–PB7 — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами;
- PC0–PC7 — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами;
- PD0–PD7 — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами;
- AREF — вход опорного напряжения для АЦП;
- AVCC — вывод источника питания АЦП;
- VCC — вывод источника питания;
- GND — общий вывод.

Рис. 1. Назначение выводов микроконтроллера:
а) AVR ATmega16;
б) AVR ATmega128
Выводы микроконтроллера ATmega128 имеют следующее назначение (рис. 1б):
- XTAL1 — вход тактового генератора;
- XTAL2 — выход тактового генератора;
- RESET — вход сброса микроконтроллера;
- PA0–PA7 (AD0–AD7) — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами (мультиплексированная шина адреса/шина данных для внешнего ОЗУ);
- PB0–PB7 — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами;
- PC0–PC7 (А8–А15) — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами (шина адреса для внешнего ОЗУ);
- PD0–PD7 — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами;
- PЕ0–PЕ7 — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами;
- PF0–PF7 (ADC0–ADC7) — 8‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами (вход АЦП);
- PG0–PG4 — 5‑битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами;
- PEN — разрешение программирования;
- AREF — вход опорного напряжения для АЦП;
- AVCC — вывод источника питания АЦП;
- VCC — вывод источника питания;
- GND — общий вывод.
Первым этапом проектирования узла печатной платы в системе Proteus является разработка схемы электрической принципиальной, которая выполняется в редакторе ISIS. На этой стадии проектирования производится выбор необходимых компонентов, их размещение в рабочем поле чертежа, связь компонентов при помощи цепей и шин. При необходимости можно модифицировать свойства компонентов, добавлять текстовые надписи.
Рассмотрим процесс моделирования схем с использованием микроконтроллеров AVR на примере микросхем ATmega128 и ATmega16. После создания пустого листа схемы его нужно заполнить символами необходимых компонентов из библиотеки. В Proteus создать новый проект схемы можно при помощи команды File/New Project. Надо отметить, что по умолчанию при создании нового проекта запускается мастер New Project Wizard.
Проектирование схемы, включающей микроконтроллер при помощи мастера New Project Wizard
Работа мастера состоит из нескольких этапов, на которых указываются название проекта и его месторасположение на диске компьютера (при этом есть возможность создать проект с чистого листа или на основе имеющихся разработок, поставляемых с системой), задается необходимость создания разработки ISIS (при этом указывается формат чертежа) и/или ARES, необходимость включения в проект определенного микроконтроллера. По окончании работы мастера в проект будет добавлено несколько вкладок, в рабочей области которых и проводится дальнейшая разработка схемы.
Рассмотрим более подробно работу с мастером New Project Wizard. Для этого запустим его командой File/New Project основного меню Proteus (рис. 2). В результате будет открыто первое окно мастера New Project Wizard: Start, в котором предлагается выполнить установку переключателя в одну из позиций. Выбор позиции From Development Board предусматривает использование для создания нового проекта одной из уже имеющихся разработок, поставляемых вместе с Proteus. В случае выбора в окне New Project Wizard: Start позиции New Project работа мастера будет состоять из шести шагов, на первом из которых (рис. 3а) пользователю предлагается указать название нового проекта (поле Name) и его месторасположение на диске компьютера (поле Path). После того как соответствующие поля заполнены, следует нажать на кнопку Next, в результате будет открыто следующее окно мастера New Project Wizard: Schematic Design (рис. 3б). На втором шаге мастер предложит указать необходимость создания разработки ISIS посредством установки переключателя в одну из двух позиций:
- Do not create a schematic — не создавать проект ISIS;
- Create a schematic from the selected template — создать проект ISIS (при этом в поле Design Templates задается формат чертежа).

Рис. 2. Стартовая страница программы Proteus

Рис. 3. Мастер New Project Wizard:
а) окно New Project Wizard: Start;
б) окно New Project Wizard: Schematic Design;
в) окно New Project Wizard: PCB Layout
г) окно New Project Wizard: PCB Layer Usage;
д) окно New Project Wizard: Firmware;
е) окно New Project Wizard: Summary
После установки всех параметров необходимо нажать на кнопку Next, в результате будет открыто третье окно мастера New Project Wizard: PCB Layout (рис. 3в). В данном окне, установив переключатель в нужную позицию, следует выбрать один из параметров:
- Do not create a PCB layout — не создавать проект PCB;
- Create a PCB layout from the selected template — создать проект PCB (при этом вполне Layout Templates производится выбор шаблона проекта).
А затем нажать на кнопку Next для перехода к следующему шагу мастера New Project Wizard: PCB Layer Usage (рис. 3г), на котором выполняется настройка слоев платы.
Пятый шаг работы мастера New Project Wizard: Firmware (рис. 3д) — выбор микроконтроллера. На этом этапе путем установки переключателя в нужную позицию задается необходимость использования микроконтроллера в проекте схемы:
- No Firmware Project — микроконтроллер не используется;
- Create Firmware Project — создать проект на основе микроконтроллера.
- В случае выбора второго параметра будут доступны следующие поля:
- Family — семейство микроконтроллера (в нашем случае выбираем AVR);
- Controller — модель микроконтроллера (в нашем случае ATmega128 или ATmega16);
- Compiler — инструменты ассемблера/компилятора. В нашем случае будут доступны для выбора следующие инструменты: AVRASM (Proteus) — используется для компиляции ассемблерного кода программы инициализации микроконтроллера, WinAVR — используется для компиляции программы, написанной на языке С;
- Create Quick Start Files — автоматическое создание заготовки программного кода для микроконтроллера.
Кнопка Compilers в поле Compiler применяется для добавления компилятора.
Шестой шаг работы мастера — подведение итогов. В окне New Project Wizard: Summary (рис. 3е) выводится вся информация о создаваемом проекте. Просмотрите внимательно настройки проекта, и если вас все устраивает, нажмите кнопку Finish для окончания работы с мастером. В противном случае вернитесь при помощи кнопки Back к предыдущим шагам мастера для внесения изменений в настройки проекта.
По окончании работы мастера система на основе заданных установок создаст новый проект, который может содержать:
- рабочее поле чертежа — вкладка Schematic Capture (рис. 4а). При этом на чертеже уже будет размещено условное графическое обозначение микроконтроллера выбранного семейства;
- контур печатной платы — вкладка PCB Layout (рис. 4б);
- заготовку программного кода для микроконтроллера — вкладка Source Code (рис. 4в).

Рис. 4. Результаты работы мастера New Project Wizard:
а) рабочее поле чертежа
б) контур печатной платы; в) заготовка программного кода для микроконтроллера
Более подробно работа с мастером уже была рассмотрена в [3].
Проектирование схемы, включающей микроконтроллер без помощи мастера
Проект схемы электрической принципиальной, в котором присутствует микроконтроллер, можно создать и без использования мастера — при помощи кнопки ISIS верхней панели инструментов Proteus. В результате будет открыта новая вкладка Schematic Capture, в рабочем поле которой и выполняется разработка схемы.
Выбор компонентов из базы данных для последующего их размещения в рабочей области программы производится в окне Pick Devices (рис. 5). Данное окно можно открыть командой контекстного меню Place/Component/From Libraries или нажатием на кнопку P на панели DEVICES (по умолчанию данная панель расположена в левой части программы и содержит список имеющихся в проекте компонентов). Открыть эту панель можно кнопкой Component Mode на левой панели инструментов редактора ISIS.

Рис. 5. Библиотека микроконтроллеров семейства AVR программы Proteus
Для того чтобы добавить микросхему микроконтроллера в рабочее поле проекта, необходимо в левой верхней части окна Pick Devices в поле Category выбрать из списка библиотеку Microprocessor ICs. Пакет Microprocessor ICs позволяет включать в эмуляцию смешанной схемы определенные микроконтроллеры с возможностью написания и отладки программного кода. Выбор библиотеки из списка выполняется щелчком левой кнопки мыши по строке с ее названием. Ниже поля Category находится поле Sub-category, в котором таким же способом задается семейство микроконтроллеров выбранной библиотеки. В поле Results отображаются все компоненты выбранного семейства. Выбор компонента производится посредством выделения при помощи левой кнопки мыши строки с его названием в поле Results. В поле Manufacturer можно выбрать производителя микроконтроллера. Если производитель не имеет значения — выберите значение All Manufacturers в этом поле. Для ускорения поиска компонентов можно воспользоваться строкой фильтра Keywords, расположенной в верхнем левом углу окна Pick Devices. После того как выбор микроконтроллера произведен, его условное графическое обозначение отобразится в поле предварительного просмотра Preview. Посадочное место компонента будет показано в поле PCB Preview. Если для выбранного микроконтроллера доступно несколько посадочных мест, то все возможные варианты будут доступны для выбора из выпадающего меню, которое находится под полем PCB Preview. Для того чтобы разместить выбранный микроконтроллер на схеме, необходимо в окне Pick Devices нажать на кнопку ОК. После чего данное окно будет закрыто, а символ компонента будет прикреплен к курсору мыши, при помощи которого необходимо поместить символ в нужное место на схеме (щелкнуть в конкретном месте схемы левой кнопкой мыши).
Кварцевый резонатор, конденсаторы и элементы питания в данном случае в схему можно не добавлять, так как они эмулируются программно. Однако если вы будете разрабатывать проект до его логического конца, то есть до изготовления печатной платы, элементы придется добавить.
Параметры размещенного на схеме микроконтроллера при необходимости можно редактировать в окне Edit Component (рис. 6). Данное окно открывается путем двойного щелчка левой кнопки мыши по уже размещенному в рабочем поле программы символу компонента.

Рис. 6. Окно Edit Component
Открыть вкладку, на которой в процессе проектирования будет вноситься код программы инициализации микроконтроллера, можно следующим образом. Выделите при помощи левой кнопки мыши символ микроконтроллера в рабочем поле проекта, при помощи правой кнопки мыши вызовите контекстное меню и выберите в нем пункт Edit Source Code. В результате в проект будет добавлена вкладка Source Code и открыто окно выбора микроконтроллера New Firmware Project (рис. 7), в котором устанавливаются следующие параметры:
- Family — семейство микроконтроллера;
- Controller — модель микроконтроллера;
- Compiler — компилятор;
- Create Quick Start Files — автоматическое создание заготовки программного кода для микроконтроллера.

Рис. 7. Окно New Firmware Project
В проект можно также добавить и уже подготовленный ранее .asm— или .c‑файл. Для этого на вкладке Source Code на панели дерева проектов Projects выберите при помощи левой кнопки мыши проект, к которому необходимо добавить .asm— или .c‑файл, при помощи правой кнопки мыши вызовите контекстное меню и выберите в нем пункт Add Files. В результате выполненных действий откроется окно проводника Windows, в котором необходимо выбрать на диске компьютера нужный файл, после чего нажать кнопку «Открыть».
Моделирование схемы, включающей микроконтроллер, и компиляция программного кода
Для наглядной демонстрации работы программы инициализации микроконтроллера соберем простую схему, состоящую из микросхемы ATmega16, двух резисторов и двух светодиодов. Для управления светодиодами в схеме использованы два вывода микроконтроллера — PD0 и PD1.
Для того чтобы добавить светодиод в рабочее поле проекта, необходимо вызвать окно Pick Devices (рис. 8) и в поле Category выбрать из списка библиотеку Optoelectronics, в поле Sub-category выбрать строку LEDs, а в поле Results — строку LED-RED, затем нажать кнопку ОК. В результате окно Pick Devices будет закрыто, а символ светодиода будет прикреплен к курсору мыши, при помощи которого необходимо поместить символ в нужное место на схеме — щелкнуть в определенном месте схемы левой кнопкой мыши столько раз, сколько светодиодов требуется разместить. Для добавления резисторов используйте библиотеку Resistors. Сопротивление резисторов можно установить в поле Resistance окна настроек Edit Component (рис. 9), вызвав его двойным щелчком левой кнопки мыши по выбранному резистору на схеме. В нашем случае это значение 150 Ом.

Рис. 8. Выбор светодиода в окне Pick Devices

Рис. 9. Окно настроек резистора Edit Component
Также в демонстрационную схему следует добавить два символа «земли». Сделать это можно посредством выбора при помощи левой кнопки мыши на панели TERMINALS (рис. 10) строки с названием GROUND. Для того чтобы открыть панель TERMINALS, нужно на левой панели редактора ISIS выбрать кнопку Terminals Mode.

Рис. 10. Панель TERMINALS
Подсоединим светодиоды к исследуемым линиям портов микроконтроллера PD0 и PD1. В результате при появлении на выходе линии порта значения логической единицы светодиод будет подсвечен красным цветом, при появлении же значения логического нуля светодиод погаснет.
Для проверки работы микроконтроллера на языке программирования С была написана несложная программа, которая заставляет поочередно мигать светодиоды:
#include <inttypes.h> // подключение библиотек функций
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>
int main()
{
DDRD=0xff // инициализация порта PD
PORTD=0x00 // порт PD работает на вывод данных
while(1) // бесконечный цикл
{PORTD=0b00000001 // вывод логической 1
// на линию PD0 порта,
// на линии PD1 — логический 0
_delay_ms(1000) // задержка в 1 секунду
PORTD=0b00000010 // вывод логической 1
// на линию PD1 порта,
// на линии PD0 — логический 0
_delay_ms(1000) // задержка в одну секунду
}}
После того как в рабочей области проекта собрана схема (рис. 11), а на вкладке Source Code введен код программы (рис. 12а), можно запускать моделирование.

Рис. 11. Демонстрационная схема с использованием микроконтроллера ATmega16 и светодиодов

Рис. 12. Программа инициализации микроконтроллера ATmega16 на вкладке Source Code, написанная на языке программирования:
а) С;
б) ассемблер
Процесс моделирования запускается при помощи кнопки Run the simulation, которая находится в левом нижнем углу окна программы. Для того чтобы временно приостановить процесс симуляции, используйте кнопку Pause the simulation, or start up at time 0 if stopped (кнопка находится в левом нижнем углу окна программы). Остановить моделирование можно при помощи кнопки Stop the simulation.
Напишем аналогичную программу на языке программирования ассемблер (рис. 12б):
ldi R16, 0b11111111 out DDRD, R16 ; инициализация порта PD, ; порт работает на вывод данных Loop: ; начало цикла clr R16 ; очистка регистра ldi R16, 0b00000001 ; загрузка числа в регистр out PortD, R16 ; вывод числа в порт nop ; задержка nop nop nop clr R16 ; очистка регистра ldi R16, 0b00000010 ; загрузка нового числа в регистр out PortD, R16 ; вывод числа в порт nop ; задержка nop nop nop rjmp Loop ; бесконечный цикл
В результате, в том случае если компилятор в листинге программы не обнаружит ошибок, на диске вашего компьютера в рабочей папке проекта будут созданы *.elf-, *.hex— и *.c‑файлы при компиляции программы инициализации микроконтроллера, написанной на языке С с помощью компилятора WinAVR, и *.obj— и *.asm-файлы при компиляции ассемблерного кода с помощью компилятора AVRASM.
Отладка программы инициализации выполняется на вкладке AVR Source Code, которую можно открыть командой основного меню редактора ISIS — Debug/Start VSM Debugging (рис. 13).

Рис. 13. Вкладка AVR Source Code, отладка программы, написанной на языке:
а) С;
б) ассемблер
Также для прошивки микроконтроллера можно использовать файл, скомпилированный при помощи стороннего компилятора. Для этого в рабочем поле проекта щелкните два раза левой кнопкой мыши по символу микроконтроллера на схеме и в открывшемся окне Edit Component в поле Program File нажмите кнопку Open. В результате будет открыто окно проводника Windows (рис. 14), в котором необходимо выбрать на диске компьютера файл машинного кода, подготовленного для загрузки в память программ, и нажать кнопку «Открыть». После выполненных действий в поле Program File окна Edit Component будет прописан путь к этому файлу.

Рис. 14. Выбор на диске компьютера файла машинного кода, скомпилированного при помощи стороннего компилятора
Отчет об ошибках, полученных в результате компиляции программного кода, отображается в нижней части вкладки Source Code на панели VSM Studio Output (рис. 15).

Рис. 15. Отчет об ошибках, полученных в результате компиляции программного кода
Состояние памяти и регистров микроконтроллера можно просмотреть при помощи следующих команд основного меню редактора ISIS:
- Debug/AVR CPU Registers (рис. 16а);
- Debug/AVR SRAM (рис. 16б);
- Debug/AVR Program Memory (рис. 16в).

Рис. 16. Состояние:
а) регистров;
б) памяти SRAM;
в) памяти программ микроконтроллера
Проанализируем работу демонстрационной схемы, представленной на рис. 11. На вкладке Source Code программным путем были даны указания микроконтроллеру вывести на линии порта PD0 и PD1 значения логической 1 и 0 соответственно, которые удерживаются на этих линиях при помощи команды задержки. Затем на линии порта PD0 и PD1 выводятся значения логического 0 и 1 соответственно, потом после задержки выполнение этого фрагмента программы повторяется.
После запуска моделирования при помощи двух светодиодов, подключенных к линиям порта PD0 и PD1, мы можем проверить правильность работы программы — светодиоды подсвечиваются и гаснут поочередно.
Ошибки, возникшие в процессе разработки схемы с использованием микроконтроллера AVR в Proteus
В процессе симуляции кода программы, написанного на языке С, может возникнуть ошибка AVR: Program property is not defined (рис. 17а), причиной которой может стать отсутствие инсталлированного компилятора WinAVR. Открыть окно Compilers, в котором отображается список установленных в системе компиляторов, можно при помощи команды System/Compilers Configuration основного меню редактора ISIS (при этом необходимо находиться на вкладке Source Code). Компилятор установлен, если в поле Installed в строке с его названием указано значение Yes, иначе в этом поле находится кнопка Download, при помощи которой и выполняется инсталляция. Как видно на рис. 18a, в нашем случае компилятор WinAVR не установлен.

Рис. 17. Ошибки симуляции кода программы, написанного на языке С:
а) ошибка отсутствия установленного в системе компилятора;
б) ошибка инициализации функции

Рис. 18. Окно Compilers:
а) компилятор WinAVR не установлен;
б) процесс загрузки;
в) компилятор WinAVR установлен
После установки компилятора при запуске симуляции проекта в нашем примере возникла ошибка implicit declaration of function “delay_ms” (рис. 17б), которая сообщает о том, что компилятор не может распознать функцию delay_ms. Поскольку функция delay_ms объявлена в файле delay.h, то для решения этой ошибки найдем данный файл на диске компьютера (в нашем случае он находится по адресу C:/WinAVR‑20100110/avr/include/util/) и откроем его (рис. 19). Просмотрев програм-мный код файла delay.h, мы обнаружили, что в нем функция delay_ms имеет название _delay_ms. Устранить возникшую ошибку можно двумя способами:
- В редакторе ISIS на вкладке Source Code в коде программы изменить название функции с delay_ms на _delay_ms.
- В коде программы в файле h изменить название функции с _delay_ms на delay_ms.

Рис. 19. Описание функции delay_ms в файле delay.h
Установка компилятора
Для запуска инсталляции компилятора WinAVR необходимо нажать в окне Compilers в строке WinAVR на кнопку Download и дождаться окончания загрузки (рис. 18б). После чего запустится программа установки, в процессе которой в диалоговом режиме пользователю будет предложено задать настройки устанавливаемого компилятора. В первую очередь программа установки предлагает выбрать языковой пакет (рис. 20), после чего будет запущен мастер, работа которого состоит из пяти шагов:
- окно приветствия (рис. 21а);
- условия лицензионного соглашения (рис. 21б);
- выбор директории установки компилятора (рис. 21в);
- выбор компонентов для установки (рис. 21г);
- завершение работы мастера (рис. 21д).

Рис. 20. Выбор языкового пакета программы установки компилятора WinAVR

Рис. 21. Мастер установки компилятора WinAVR:
а) окно приветствия;
б) условия лицензионного соглашения;
в) выбор директории установки компилятора;
г) выбор компонентов для установки;
д) завершение работы мастера
После окончания инсталляции в окне Compilers в строке WinAVR в поле Compiler Directory будет прописан путь к директории установленного компилятора, а в поле Installed указано значение Yes (рис. 18в).
Работа с универсальным синхронно-асинхронным приемопередатчиком USART
Все микроконтроллеры семейства Mega имеют в своем составе от одного до четырех модулей универсального синхронно-асинхронного приемопередатчика USART. Отметим, что в микроконтроллере ATmega16 присутствует один такой модуль, а в ATmega128 — два. Все модули приемопередатчиков обеспечивают полнодуплексный обмен по последовательному каналу. Длина посылки может составлять от 5 до 9 бит. Во всех модулях в обязательном порядке присутствуют схемы контроля и формирования бита четности. Для взаимодействия с программой предусмотрены три прерывания, запрос на генерацию которых формируется при наступлении следующих событий: «передача завершена», «регистр данных передатчика пуст» и «прием завершен».
Выводы микроконтроллера, используемые модулями USART, являются линиями ввода/вывода общего назначения. К примеру, в микроконтроллере ATmega16 модулем USART используются линии PD0 (RXD) — вход USART, PD1 (TXD) — выход USART, PB0 (XCK) — вход/выход внешнего тактового сигнала USART.
Модуль состоит из трех основных частей: блока тактирования, блока передатчика и блока приемника. Буферные регистры приемника и передатчика располагаются по одному адресу пространства ввода/вывода и обозначаются как регистр данных UDR. В этом регистре хранятся младшие 8 бит принимаемых и передаваемых данных. При чтении регистра UDR выполняется обращение к буферному регистру приемника, при записи — к буферному регистру передатчика.
Для управления модулем USART используется три регистра: UCSRA, UCSRB, UCSRC. Работа передатчика разрешается установкой в единицу бита TXEN регистра UCSRB. При установке бита вывод TXD подключается к передатчику USART и начинает функционировать как выход независимо от установок регистров управления портом. Если используется синхронный режим работы, то переопределяется также функционирование вывода XCK. Передача инициируется записью передаваемых данных в буферный регистр передатчика — регистр данных UDR. После этого данные пересылаются из регистра UDR в сдвиговый регистр передатчика. После пересылки слова данных в сдвиговый регистр флаг UDRE регистра UCSRA устанавливается в 1, что означает готовность передатчика к получению нового слова данных. В этом состоянии флаг остается до следующей записи в буфер.
Выключение передатчика осуществляется сбросом бита TXEN регистра UCSRB. Если в момент выполнения этой команды выполнялась передача, сброс бита произойдет только после завершения текущей и отложенной передач, то есть после очистки сдвигового и буферного регистров передатчика. При выключенном передатчике вывод TXD может использоваться как контакт ввода/вывода общего назначения.
Работа приемника разрешается установкой бита RXEN регистра UCSRB. При установке бита вывод RXD подключается к приемнику USART и начинает функционировать как вход независимо от установок регистров управления портом. Если используется синхронный режим работы, переопределяется также функционирование вывода XCK.
Выключение приемника осуществляется сбросом бита RXEN регистра UCSRB. В отличие от передатчика приемник выключается сразу же после сброса бита, а значит, кадр, принимаемый в этот момент, теряется. Кроме того, при выключении приемника очищается его буфер, то есть теряются также все непрочитанные данные. При выключенном приемнике вывод RXD может использоваться как контакт ввода/вывода общего назначения.
Рассмотрим работу модуля USART на конкретном примере. Передадим программным способом на экран виртуального терминала комбинацию символов ABC. Для чего создадим в Proteus новый проект с использованием микроконтроллера ATmega16 и добавим в рабочее поле виртуальный терминал, а также виртуальный осциллограф для просмотра осциллограммы работы USART.
Виртуальные приборы можно добавить посредством выбора при помощи левой кнопки мыши на панели INSTRUMENTS (рис. 22) строки с названием VIRTUAL TERMINAL (для виртуального терминала) и OSCILLOSCOPE (для виртуального осциллографа). Для того чтобы открыть панель INSTRUMENTS, необходимо на левой панели редактора ISIS выбрать кнопку Instruments Mode.

Рис. 22. Панель INSTRUMENTS
Подсоединим вывод TXD микроконтроллера к выводу RXD виртуального терминала, а также к каналу А осциллографа.
В окне настроек микроконтроллера Edit Component установим следующие параметры (рис. 23):
- поле CKOPT (Oscillator Options) — (1) Unprogrammed;
- поле BOOTRST (Select Reset Vector) — (1) Unprogrammed;
- поле CKSEL Fuses — (1111) Ext.Crystal High Freq.;
- поле Boot Loader Size — (00) 1024 words. Starts at 0x1C00;
- поле SUT Fuses — (11);
- поле Advanced Properties — Clock Frequency 8000000.

Рис. 23. Окно настроек микроконтроллера ATmega16
Окно настроек можно открыть при помощи двойного щелчка левой кнопкой мыши по выбранному на схеме микроконтроллеру.
Для проверки работы собранной схемы (рис. 24) на языке программирования ассемблер была написана следующая программа (рис. 25):
.include “m16def.inc” ; подключение стандартного ; заголовочного файла для ATmega16 .equ fCK = 8000000 ; частота в герцах .equ BAUD = 9600 ; скорость для USART в бодах .equ UBRR_value = (fCK/(BAUD*16)) — 1 ; рассчитываем значение ; для регистра UBRR main: ; Код основной программы rcall init_USART ldi R16,0b01000001 ; двоичный код символа 'A' rcall USART_send ldi R16,0b01000010 ; двоичный код символа 'B' rcall USART_send ldi R16,0b01000011 ; двоичный код символа 'C' rcall USART_send loop: rjmp loop init_USART: ; Подпрограмма инициализации USART ldi R16,high(UBRR_value) ; устанавливаем скорость 9600 бод out UBRRH,R16 ldi R16,low(UBRR_value) out UBRRL,R16 ldi R16,(1<<TXEN) ; разрешаем работу передатчика out UCSRB,R16 ldi R16,(1<< URSEL)|(1<< UCSZ0)|(1<< UCSZ1) out UCSRC,R16 ; устанавливаем режим 8 бит данных, ; без проверки четности, асинхронный режим ret USART_send: sbis UCSRA,UDRE ; ждем, пока бит UDRE регистра UCSRA ; не будет пуст rjmp USART_send out UDR,R16 ; посылаем байт по USART, ; кладем данные в регистр UDR ret

Рис. 24. Схема передачи данных при помощи модуля USART микроконтроллера ATmega16

Рис. 25. Код программы инициализации микроконтроллера ATmega16 на вкладке Source Code
После того как в рабочей области проекта собрана схема, а на вкладке Source Code введен код программы, можно запускать моделирование. Как видно на рис. 24, разработанный проект функционирует верно — на экран виртуального терминала была выведена указанная в коде программы комбинация символов. Осциллограмма работы USART показана на рис. 26.

Рис. 26. Осциллограмма работы модуля USART микроконтроллера ATmega16
Рассмотрим передачу данных по интерфейсу USART в микроконтроллере ATmega128. Для чего напишем аналогичную программу передачи символов ABC на экран виртуального терминала на языке программирования С.
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>
#define F_CPU 8000000 // Рабочая частота контроллера
#define BAUD 9600L // Скорость обмена данными
#define UBRRL_value (F_CPU/(BAUD*16))-1 // Согласно заданной
// скорости подсчитываем значение для регистра UBRR
void init_USART() {
UBRR0L = UBRRL_value; // Младшие 8 бит UBRRL_value
UBRR0H = UBRRL_value >> 8; // Старшие 8 бит UBRRL_value
UCSR0B = (1<<TXEN0); // Бит разрешения передачи
UCSR0C = (1<< UCSZ00)|(1<< UCSZ01); } // Устанавливаем
// формат 8 бит данных
void send_UART(char value) {
while(!( UCSR0A & (1 << UDRE0))); // Ожидаем, когда очистится
// буфер передачи
UDR0 = value; } // Помещаем данные в буфер, начинаем передачу
int main(void)
{
init_USART(); // инициализация USART
send_UART(0b01000001); // посылаем двоичный код символа 'A'
send_UART(0b01000010); // посылаем двоичный код символа 'B'
send_UART(0b01000011); // посылаем двоичный код символа 'C'
while(1)
{ _delay_ms(1000); } }
Здесь необходимо отметить, что в микроконтроллере ATmega128 два модуля USART: USART0, USART1. Таким образом, при написании программного кода необходимо указывать, к регистрам какого модуля USART мы обращаемся. Если при работе с интерфейсом USART микроконтроллера ATmega16 мы обращались к регистру данных по имени UDR, то при работе, к примеру, с модулем USART0 микроконтроллера ATmega128 к регистру данных следует обращаться по имени UDR0.
На рис. 27 показана схема передачи данных при помощи модуля USART0 микроконтроллера ATmega128. Код программы инициализации микроконтроллера на вкладке Source Code представлен на рис. 28. Hex-файл машинного кода, полученный в результате компиляции программы, представлен на рис. 29. На рис. 30 показано окно настроек микроконтроллера ATmega128.

Рис. 27. Схема передачи данных при помощи модуля USART0 микроконтроллера ATmega128

Рис. 28. Код программы инициализации микроконтроллера ATmega128 на вкладке Source Code

Рис. 29. Нex-файл машинного кода

Рис. 30. Окно настроек микроконтроллера ATmega128
Особенности работы с портами ввода/вывода данных
Микроконтроллеры AVR имеют в своем составе от одного до семи портов ввода/вывода, которые служат для обмена информацией с внешними устройствами. Для управления каждым портом ввода/вывода используется три специальных регистра: PORTx, DDRx и PINx, где x — это имя порта. Например, для порта D имена регистров управления будут такими: PORTD, DDRD и PIND. Назначение этих регистров следующее:
- PORTx — регистр данных (используется для вывода информации);
- DDRx — регистр направления передачи информации;
- PINx — регистр ввода информации.
Отдельные разряды этих регистров имеют свои имена. Разряды регистра PORTx именуются как Рхn, где n — это номер разряда. К примеру, разряды регистра PORTD будут именоваться следующим образом: PD0, PD1, PD2–PD7. Разряды порта DDRx именуются как DDxn (для порта С — DDС0, DDС1–DDС7). Разряды порта PINx именуются как PINxn (для порта С — PINС0, PINС1–PINС7).
Любой порт ввода/вывода микроконтроллера AVR устроен таким образом, что каждый его разряд может работать как на ввод, так и на вывод.
Для переключения режимов работы служит регистр DDRx. Каждый разряд регистра DDRx управляет своим разрядом порта. Если в каком-либо разряде регистра DDRx записан ноль, то соответствующий разряд порта работает как вход. Если же в этом разряде единица, то разряд порта работает как выход. Для того чтобы выдать информацию на внешний вывод микросхемы, нужно в соответствующий разряд DDRx записать логическую единицу, а затем записать байт данных в регистр PORTx. Содержимое соответствующего бита этого байта тут же появится на внешнем выводе микросхемы и будет присутствовать там постоянно, пока не будет заменено другим либо пока данная линия порта не переключится на ввод.
Для того чтобы прочитать информацию с внешнего вывода микроконтроллера, необходимо сначала перевести нужный разряд порта в режим ввода. То есть записать в соответствующий разряд регистра DDRx ноль. Лишь после этого на данный вывод микроконтроллера можно подавать цифровой сигнал от внешнего устройства. Далее микроконтроллер просто читает байт из регистра PINx. Содержимое соответствующего бита прочитанного байта соответствует сигналу на внешнем выводе порта.
Порты ввода/вывода микроконтроллеров AVR в режиме ввода информации могут при необходимости подключать к каждому выводу порта внутренний нагрузочный резистор. Внутренний резистор позволяет значительно расширить возможности порта. Такой резистор создает вытекающий ток для внешних устройств, подключенных между выводом порта и общим проводом. Благодаря этому резистору упрощается подключение внешних контактов и кнопок. Обычно контакты требуют внешнего резистора, без которого теперь можно обойтись. Также подтягивающий резистор позволяет избежать чтения с входа различных помех, что повышает надежность устройства в целом. Включением и отключением внутренних резисторов управляет регистр PORTx, если порт находится в режиме ввода. В таблице 3 показаны все режимы работы порта.
|
DDxn |
Pxn |
Режим |
Резистор |
Примечание |
|
0 |
0 |
Вход |
Отключен |
Вывод отключен от схемы |
|
0 |
1 |
Вход |
Подключен |
Вывод является источником тока |
|
1 |
0 |
Выход |
Отключен |
На выходе 0 |
|
1 |
1 |
Выход |
Отключен |
На выходе 1 |
Программирование микроконтроллеров ATmega16 и ATmega128 на языке ассемблер
Наиболее эффективные программы получаются при использовании языка ассемблер. Однако стоит отметить, что при этом также увеличивается сложность и время разработки программы. В Proteus для компиляции программного кода, написанного на языке ассемблер, для микроконтроллеров AVR предусмотрен компилятор AVRASM, который по умолчанию уже установлен в системе.
При написании кода программы на языке ассемблер для микроконтроллера AVR необходимо владеть синтаксисом этого языка. Система команд микроконтроллеров AVR насчитывает 130 базовых команд для ATmega16 и 133 для ATmega128, которые разделены по функциональному признаку на шесть групп:
- команды пересылки данных;
- арифметических операций и сдвига;
- логических операций;
- команды передачи управления;
- команды операций с битами;
- команды управления системой.
Особенности мнемонической записи большинства команд в AVR-ассемблере такие же, как и в любых других ассемблерах. Отметим, что AVR-ассемблер регистров букв не различает, в том числе и в присвоенных программистом именах переменных, констант и меток. Примечания в тексте программы можно добавлять в конце строки после знака «;». Все, что расположено после точки с запятой и до знака конца строки, игнорируется, поэтому комментарий может быть и на русском языке. Длина строки ограничена 120 символами. Если необходимо продлить комментарий на следующую строку, то эту строку нужно опять начинать со знака «;».
Шестнадцатеричные числа можно записывать двояким способом: как в языке С (0x0А) или как в языке Паскаль ($0А). «Интеловская» форма записи (0Ah) не допускается. Двоичные числа записываются как в языке С (0b00001010).
В недавнем прошлом язык ассемблер был единственным языком программирования для микроконтроллеров. В настоящее время, когда возможности современных микроконтроллеров значительно возросли, для составления программ также используют и языки высокого уровня, в частности С.
Окончание статьи.
Литература
- ISIS Help. Labcenter Electronics, 2014.
- Белов А. В. Самоучитель разработчика устройств на микроконтроллерах AVR. СПб.: Наука и техника, 2008.
- Филатов М. Проектирование схем электрических принципиальных с использованием микроконтроллеров в программной среде Proteus 8.1 // Компоненты и технологии. 2015. № 7.
- Голубцов М. С. Микроконтроллеры AVR: от простого к сложному. М.: СОЛОН-Пресс, 2003.
- Евстифеев А. В. Микроконтроллеры AVR семейства Mega. Руководство пользователя. М.: Издательский дом «Додэка-XXI», 2007.
- Евстифеев А. В. Микроконтроллеры AVR семейства Tiny и Mega фирмы ATMEL. М.: Издательский дом «Додэка-XXI», 2004.
- Гололобов В. Н. Экскурсия по электронике. М.: СамИздат, 2008.
- Ревич Ю. Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера. 2‑е издание. СПб.: БХВ‑Петербург, 2011.
leshak
Offline
Зарегистрирован: 29.09.2011
32u4 — да думаю можно его туда всобачить. В крайнем случае «очередной адаптер-переходник».
kisoft пишет:
Мне тут про Due немного рассказали, релокация памяти, можно из флеша в озу и выполнять.
Мало пока инфы по Due. IMHO пока не очень даже понятно «на кого он нацелен». На мигать диодов и кнопки — хватает 8-битных. Плюс этих камней в DIP-е нету, что сразу ощелкивает тех, кто потом собирается свою платку сделать, но пугается слова SMD.
Те кто могли-бы ее «мощу» заюзать (математику там серьезну, распознавания всякие) — так скроее предпочтут «голый C», вряд-ли на ардуину пойдут. Вообщем — не ясно пока, лично мне. Такое впечатление что сами разработчики Ардуины уже просто «выросли из этих штанишек» (или просто «нужен свежачок»), а вот аудитория «простеньких устройств на коленке» — не торопитца двинутся за ними (да вообще я плохо представляю как в ArduinoIDE что-то большое можно сопровождать).
kisoft пишет:
А еще ПЛИСы есть, DSP, но это уже совсем другая история. Хотя, кто знает, может когда и понадобится 🙂 Знаю про них не понаслышке, ребята знакомые для нас делали на этом всем аппараты для самолетов 😉
Да. Интересная штука. Только цены на них «кусючие» (которые серьезные). И вам, как «схемотехнику», возможно они даже будут ближе и интуитивней. На них хорошо идет то что «простое, но паралелится здорово».
А вообще, IMHO, с ними перекос. Их оседлали «профи», старой школы. Которые просто реализуют в них «схемы которые привыкли». И используют их «где надо и не надо». Зачастую сильно переусложняя решение. А в «контроллеры» идут програмисты скорее. И тоже «рождают монстров» извращаясь на микроконтроллере, там где на ПЛИС-е было-бы просто и изящно.
Вот кстати некий аналог «Ардуины» от ПЛИСа http://marsohod.org/index.php/howtostart/plata с подъемной ценой для «пощупать/поигратся».
Содержание
- 1. Что такое AVR2.DLL?
- 2. AVR2.DLL безопасно или это вирус или вредоносная программа?
- 3. Могу ли я удалить или удалить AVR2.DLL?
- 4. Распространенные сообщения об ошибках AVR2.DLL
- 4a. AVR2.DLL не найден
- 4b. AVR2.DLL отсутствует
- 5. Как исправить AVR2.DLL
- 6. Январь 2023 Обновление
Обновлено 2023 января: Вот три шага к использованию инструмента восстановления для устранения проблем с dll на вашем компьютере: Получите его по адресу эту ссылку
- Скачайте и установите это программное обеспечение.
- Просканируйте свой компьютер на наличие проблем с dll.
- Исправьте ошибки dll с помощью программного инструмента
AVR2.DLL это файл библиотеки динамических ссылок, который является частью разработанный Лабцентр Электроника, Версия программного обеспечения: обычно о по размеру, но версия у вас может отличаться. Файлы DLL — это формат файлов для динамических библиотек, который используется для хранения нескольких кодов и процедур для программ Windows. Файлы DLL были созданы, чтобы позволить нескольким программам использовать их информацию одновременно, тем самым сохраняя память. Это также позволяет пользователю изменять кодировку нескольких приложений одновременно, не изменяя сами приложения. Библиотеки DLL могут быть преобразованы в статические библиотеки с помощью дизассемблирования MSIL или DLL в Lib 3.00. Формат файла .exe файлов аналогичен формату DLL. Файлы DLL, и оба типа файлов содержат код, данные и ресурсы.
Наиболее важные факты о AVR2.DLL:
- Имя: AVR2.DLL
- Программного обеспечения: Proteus 8 Профессиональный
- Издатель: Лабцентр Электроника
- URL издателя: www.labcenter.com
- Файл справки:
- Известно, что до 646.88 KB по размеру на большинстве окон;
Рекомендуется: Выявление ошибок, связанных с AVR2.DLL
(дополнительное предложение для Reimage — Cайт | Лицензионное соглашение | Персональные данные | Удалить)
AVR2.DLL безопасно или это вирус или вредоносная программа?
Ответ — нет, сам по себе AVR2.DLL не должен повредить ваш компьютер.
В отличие от исполняемых программ, таких как программы с расширением EXE, файлы DLL не могут быть выполнены напрямую, но должны вызываться другим кодом, который уже выполнен. Тем не менее, DLL имеют тот же формат, что и EXE, и некоторые могут даже использовать расширение .EXE. В то время как большинство динамических библиотек заканчиваются расширением .DLL, другие могут использовать .OCX, .CPL или .DRV.
Файлы DLL полезны, потому что они позволяют программе разделять свои различные компоненты на отдельные модули, которые затем могут быть добавлены или удалены для включения или исключения определенных функций. Если программное обеспечение работает таким образом с библиотеками DLL, программа может использовать меньше памяти, поскольку ей не нужно загружать все одновременно.
С другой стороны, если файл .dll прикреплен к исполняемому файлу, который предназначен для повреждения вашего компьютера, возможно, это опасно. Мы рекомендуем вам запустить сканирование вашей системы с инструмент, подобный этому это может помочь выявить любые проблемы, которые могут существовать.
Вот почему обычно, когда вы видите новый файл .dll на вашем компьютере, где-то будет файл .exe.
Убедитесь, что вы сканируете оба вместе, чтобы вам не пришлось беспокоиться о заражении вашего компьютера чем-то плохим.
Могу ли я удалить или удалить AVR2.DLL?

Согласно различным источникам онлайн, 6% людей удаляют этот файл, поэтому он может быть безвредным, но рекомендуется проверить надежность этого исполняемого файла самостоятельно, чтобы определить, является ли он безопасным или вирусом.
Программные программы хранят файлы DLL в одной или нескольких папках во время установки. Эти файлы содержат код, который объясняет работу программ.
Если вы планируете удалить AVR2.DLL, лучше оставить его в покое. Причина этой логики заключается в том, что некоторые программы совместно используют эти файлы, поэтому удаление определенного файла DLL может непреднамеренно вызвать проблемы. Это означает, что удаление AVR2.DLL может привести к прекращению работы одной или нескольких других программ или только в ограниченной степени.
Некоторые программы также могут устанавливать файлы DLL в несколько папок вне папки Program Files (где установлено большинство программ). Поиск этих DLL-файлов может быть очень трудным, а удаление их может быть опасным.
Как уже упоминалось выше, если вы не уверены, что AVR2.DLL используется другой программой, мы рекомендуем оставить ее в покое. Однако, если вам нужно удалить файл, мы рекомендуем сначала сделать копию. Если после этого у вас возникнут проблемы с другой программой, требующей использования недавно удаленного DLL-файла, вы можете восстановить файл из резервной копии.
Распространенные сообщения об ошибках AVR2.DLL

Как вы можете себе представить, некоторые DLL появляются чаще в сообщениях об ошибках, чем другие. Вот некоторые из DLL, которые, как известно, вызывают проблемы.
- Не удалось запустить приложение, так как AVR2.DLL не был найден. Переустановка приложения может решить проблему.
- AVR2.DLL не найден
- AVR2.DLL отсутствует
- Требуемая DLL AVR2.DLL не найдена
- Приложение или AVR2.DLL не является допустимым образом Windows
- AVR2.DLL отсутствует или поврежден
- Не удается найти AVR2.DLL
- Невозможно запустить AVR2.DLL. Отсутствует обязательный компонент: AVR2.DLL. Пожалуйста, установите AVR2.DLL снова.
Как исправить AVR2.DLL
Обновлено в январе 2023 г .:
Мы рекомендуем вам попробовать этот новый инструмент. Он исправляет множество компьютерных ошибок, а также защищает от таких вещей, как потеря файлов, вредоносное ПО, сбои оборудования и оптимизирует ваш компьютер для максимальной производительности. Это исправило наш компьютер быстрее, чем делать это вручную:
- Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
- Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
- Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.

(опциональное предложение для Reimage — Cайт | Лицензионное соглашение | Персональные данные | Удалить)
Если AVR2.DLL отсутствует или поврежден, это может повлиять на многие приложения, включая операционную систему, что может помешать вам выполнять свою работу или использовать критические функции в критически важном программном обеспечении.
Запустить SFC

Самый безопасный способ восстановить отсутствующий или поврежденный файл AVR2.DLL, вызванный вашей операционной системой Windows, — запустить встроенную проверку системных файлов, которая заменяет отсутствующие или поврежденные системные файлы.
Для этого щелкните правой кнопкой мыши кнопку «Пуск» на компьютере Windows 10, чтобы открыть меню WinX, и щелкните ссылку «Командная строка (администратор)».
В окне CMD скопируйте следующую команду и нажмите Enter:
ПФС / SCANNOW
Сканирование может занять 10 минут, и если оно успешно завершено, вы должны перезагрузить компьютер. Запуск sfc / scannow в безопасном режиме или при запуске может дать лучшие результаты.
Обновить драйверы

Иногда при использовании аппаратного обеспечения, такого как принтер, вы получаете ошибку файла AVR2.DLL. Эта ошибка может быть связана с более старой версией драйвера, который не совместим с обновленным файлом .dll, поэтому принтер ищет неправильный файл .dll и не может его найти.
Обновите драйверы вашего устройства, чтобы увидеть, решит ли это проблему.
Восстановление при загрузке

Восстановление при загрузке — это еще один способ восстановить все DLL-файлы, такие как AVR2.DLL, до их первоначального рабочего состояния. Однако это исправление может вызвать проблемы в других программах, особенно если программа обновила файлы DLL.
Загрузите или переустановите AVR2.DLL

В большинстве учебников и руководств авторы предупреждают своих читателей не загружать отсутствующие файлы AVR2.DLL со случайных и непригодных для использования веб-сайтов, которые могут предоставить им вредоносное ПО. Это не без причины, конечно. Правда в том, что в Интернете полно сайтов, которые обещают пользователям решить их проблемы, открыв определенные приложения или программы как можно скорее. К сожалению, очень немногие могут действительно оправдать ваши ожидания.
Хотя эта проблема встречается реже, потенциально гораздо более серьезная проблема заключается в том, что библиотеки DLL, которые вы загружаете из источников, отличных от поставщика, иногда могут быть загружены вирусами или другими вредоносными программами, которые могут заразить ваш компьютер. Это особенно верно для веб-сайтов, которые не слишком заботятся о том, откуда берутся их файлы. И это не так, как будто эти сайты сделают что-нибудь, чтобы рассказать вам о своих источниках высокого риска.
К счастью, процесс установки AVR2.DLL довольно прост. Короче говоря, все, что вам нужно сделать, это скопировать оригинальный файл DLL в C: Windows System32. Как только .DLL будет скопирован, выполните следующую команду: regsvr32 AVR2.DLL, и ваш .DLL будет успешно установлен.
Единственный способ гарантировать, что вы получите стабильный, современный и чистый AVR2.DLL, это получить его из источника, из которого он поступает.



