Содержание

Александр писанец сайт avr

Программирование микроконтроллеров в AtmelStudio 6. Часть 1. Первые шаги

Если вы читаете эту статью, вероятно у вас возникло желание понять, как работают микроконтроллеры, и скорее всего появились вопросы:
1. Какой микроконтроллер выбрать для работы?
2. Какую среду разработки использовать для программирования выбранного микроконтроллера?
3. Как прошивать контроллер, и какие дополнительные приборы и акссесуары нужны для удобной работы с ними?
4. Какую литературу изучать?
5. Где в интернете можно задавать вопросы и получать конкретные ответы?

Попробуем ответить на эти вопросы.

↑ 1. Какой микроконтроллер выбрать для работы?

Большой популярностью у радиолюбителей пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM.

В промышленности, несколько иначе, первое место с большим отрывом занимает Renesas Electronics на втором Freescale, на третьем Samsung, затем идут Microchip и TI, далее все остальные.
Популярность определяется ценой и доступностью, немалую роль играют наличие технической информации и стоимость программного сопровождения.

Мы будем изучать 8-битные микроконтроллеры AVR, семейства ATMEGA 8 и 16 серии. Выбор определился, опять же доступностью, наличием множества любительских разработок, огромным количеством учебного материала. Наличием разнообразных встроенных компонентов и функциональностью этого семейства.

↑ 2. Какую среду разработки использовать для программирования выбранного микроконтроллера?

Для AVR созданы разные интегрированные среды разработки (IDE, Integrated development environment).
IDE – это система программных средств, используемая программистами для разработки программного обеспечения (ПО), в состав которой входят:
• текстовый редактор,
• компилятор и/или интерпретатор,
• средства автоматизации сборки,
• отладчик.

Наиболее распространенные из них AVRStudio, ATmelStudio, WINAVR, CodeVision, IAR Embedded Workbench.
Для того, чтобы писать программы, мы воспользуемся бесплатной IDE ATmelStudio версии 6 и выше.
Скачать Atmel Studio можно с официального сайта после регистрации (регистрация абсолютно бесплатная и ни к чему не обязывает!)

ATmelStudio позволяет создавать проекты, и писать программы как в ассемблере, так и на СИ.

Изначально всегда стоит вопрос: какой язык программирования выбрать, чтобы писать эффективные программы?

Отвечу просто: нужно уметь писать как минимум на двух языках ассемблере и СИ. Ассемблер просто необходим, когда нужно написать быстрые и компактные подпрограммы и макросы, различные драйверы устройств. Но, когда требуется создать объемный проект, построенный на сложных алгоритмах, без знания СИ может быть потрачено очень много времени, особенно в процессе отладки, а если возникнет желание перенести на другую платформу, например PIC18, или STM, может стать неразрешимой проблемой.
Кроме этого, сейчас появились аппаратные вычислительные платформы Arduino, работа с которыми требует знаний языка СИ++.
Поэтому будем писать программы как в ассемблере, так и на СИ.

Чтобы наглядно видеть результат своей работы, не используя паяльник или макетную плату достаточно установить программу Proteus.

↑ 3. Как прошивать контроллер, и какие дополнительные приборы и акссесуары нужны для удобной работы с ними?

Используем датагорский кит — программатор Project-005 «D-AVR910». Кроме этого, нужно будет приобрести макетные платы, блок питания с выходным напряжением 5 Вольт. Можно в качестве БП с малыми пульсациями использовать наш кит Project-006 «POWER FILTER», применив стабилитрон на 5 Вольт.
Возможно, со временем мы с Игорем предложим проект для сборки отладочной платы.

↑ 4. Какую литературу изучать?

А вот, например:
• Практическое программирование AVR на ассемблере. Ревич, 2011
• 1000 и одна микроконтроллерная схема Вып. 1-2. Рюмик, 2010-2011
• 10 практических устройств на МК AVR Книга 1-2. Кравченко, 2008-2009
• Самоучитель разработчика устройств на МК AVR. Белов, 2008
• МК AVR семейств Tiny и Atmega. Ефстифеев, 2008
• CodeVisionAVR. Пособие для начинающих. Лебедев, 2008
• Микропроцессорное управление устройствами, тиристоры, реле. Белов, 2008
• Аналоговые интерфейсы МК. Стюард, Болл, 2007
• Создаем устройства на МК AVR. Белов, 2007
• МК AVR в радиолюбительской практике. Полный разбор ATTINY2313. Белов, 2007
• Сетевой и межсетевой обмен данными с МК. Иди, 2007
• МК AVR. практикум для начинающих. Хартов, 2007
• Применение AVR Схемы, алгоритмы, программы. Баранов, 2006
• Микроконтроллеры AVR. Вводный курс. Мортон, 2006
• Измерение, управление и регулирование с помощью AVR. Трамперт, 2006
• Программирование на языке С для AVR и PIC МК. Шпак, 2006
• Конструирование устройств на МК. Белов, 2005
• МK — это же просто, тома 1-3. Фрунзе, 2002-2003
• Язык программирования Си, 2-е издание. Керниган, Ритчи, 2009
• Программирование микроконтроллеров ATMEL на языке С. Прокопенко, 2012

Читать еще:  Андулиновая кровля цена за лист размеры фото

↑ 5. Где в интернете можно задавать вопросы и получать конкретные ответы?

Задавать вопросы вы можете на нашем или любом другом форуме, где так или иначе затронуты темы по микроконтроллерам. Главное на форумах правильно формулировать вопросы, чтобы четко получать ответы. Абстрактные вопросы не приветствуются, и скорее всего вместо ответа вы получите жесткую критику, или ваш вопрос останется без внимания!

↑ Теперь рассмотрим поближе нашего фаворита, микроконтроллер ATMEGA 8

• 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением
• Прогрессивная RISC архитектура
130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл
32 8-разрядных рабочих регистра общего назначения
Полностью статическая работа
Приближающаяся к 16 MIPS (при тактовой частоте 16 МГц) производительность
Встроенный 2-цикловый перемножитель

• Энергонезависимая память программ и данных
8 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)
Обеспечивает 1000 циклов стирания/записи
Дополнительный сектор загрузочных кодов с независимыми битами блокировки
Обеспечен режим одновременного чтения/записи (Read-While-Write)
512 байт EEPROM
Обеспечивает 100000 циклов стирания/записи
1 Кбайт встроенной SRAM
Программируемая блокировка, обеспечивающая защиту программных средств пользователя

• Встроенная периферия
Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения
Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения
Счетчик реального времени с отдельным генератором
Три канала PWM
8-канальный аналого-цифровой преобразователь (в корпусах TQFP и MLF)
6 каналов с 10-разрядной точностью
2 канала с 8-разрядной точностью
6-канальный аналого-цифровой преобразователь (в корпусе PDIP)
4 канала с 10-разрядной точностью
2 канала с 8-разрядной точностью
Байт-ориентированный 2-проводный последовательный интерфейс
Программируемый последовательный USART
Последовательный интерфейс SPI (ведущий/ведомый)
Программируемый сторожевой таймер с отдельным встроенным генератором
Встроенный аналоговый компаратор

• Специальные микроконтроллерные функции
Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания
Встроенный калиброванный RC-генератор
Внутренние и внешние источники прерываний
Пять режимов пониженного потребления: Idle, Power-save, Power-down, Standby и снижения шумов ADC

• Выводы I/O и корпуса
23 программируемые линии ввода/вывода
28-выводной корпус PDIP, 32-выводной корпус TQFP и 32-выводной корпус MLF

• Рабочие напряжения
2,7 — 5,5 В (ATmega8L)
4,5 — 5,5 В (ATmega8)

• Рабочая частота
0 — 8 МГц (ATmega8L)
0 — 16 МГц (ATmega8)

отличия ATMEGA16 от 8
• 16 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)

• Интерфейс JTAG (совместимый с IEEE 1149.1)
Возможность сканирования периферии, соответствующая стандарту JTAG
Расширенная поддержка встроенной отладки
Программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки

• Четыре канала PWM / ШИМ

• 8-канальный 10-разрядный аналого-цифровой преобразователь
8 несимметричных каналов
7 дифференциальных каналов (только в корпусе TQFP)
2 дифференциальных канала с программируемым усилением в 1, 10 или 200 крат (только в корпусе TQFP)

• Шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, Extended Standby и снижения шумов ADC

• 32 программируемые линии ввода/вывода

• 40-выводной корпус PDIP и 44-выводной корпус TQFP

↑ AtmelStudio

Если Вы только начинаете, то нужно скачать и установить программу AtmelStudio с официальной страницы atmel.com
После установки программы AtmelStudio можно приступить к созданию проекта.
Проект – это ваша программа, которую вы будете писать, отлаживать и прошивать, после компиляции, в память микроконтроллера.

Чтобы создать проект, надо открыть программу, появиться такая заставка,

и откроется страница создания проекта

Чтобы создать новый проект, нужно кликнуть по «New Project…»
В этом случае откроется новое окно, где можно выбрать язык программирования, название проекта, его месторасположение, название пакета с файлами проекта и возможность создания каталога для дальнейшего использования в других перекрестных проектах. Чтобы создать проект, где мы будем программировать в ассемблере, нужно выбрать — Assembler, после этого поменяем название проекта, его расположение, и выбираем ОК.

Появится следующее окно

Выбираем “megaAVR, 8-bit” и находим нужный нам микроконтроллер, мы выбрали ATmega8. В правой части заставки появляется список устройств, работающих с этим микроконтроллером, один из которых мы можем подключить. Выбираем ОК.

Появляется страница редактора текста, которая позволяет редактировать и отлаживать программу. Пока страница чистая, указано время и дата создания и название файла проекта, имя пользователя. Есть дополнительные окно устройств ввода-вывода, окно отчетов компиляции программы. Теперь мы

Выбираем семейство микроконтроллеров “megaAVR, 8-bit”

Далее, наименование микроконтроллера и выбираем ОК.

Появляется страница редактора текста. Здесь мы можем программировать в СИ.

У нас есть возможность загрузить демонстрационные проекты для работы с платами разработки, выпускаемыми корпорацией ATMEL.
Для этого нужно при создании проекта выбрать пункт “New Examle Project from ASF…”

Откроется окно следующего вида:

Здесь вы можете выбрать нужный проект, и экспериментировать как вам хочется…
Третий пункт на страничке создания проектов позволяет быстро открывать последний загруженный проект.

Так же есть возможность управлять проектом, для этого нужно выбрать название проекта под пунктом “Recent Projects” и кликнуть по правой клавише мыши. Появится меню из 3-х пунктов:

Open Project – запускает проект.
Open Containing Folder – просмотор содержимого папки проекта
Remove From List – удаление из списка проектов. Сам проект не удаляется, и попытка создать новый проект с таким же именем выдаст ошибку. Полностью удалить проект можно в папке, где он был создан.

Как создается новый проект и про перенос старых проектов, созданных в AVR Studio 4, можно посмотреть на видеоролике от Александра Писанца

АЛЕКСАНДР ПИСАНЕЦ САЙТ AVR

Программирование микроконтроллеров (компаратор часть1)

Урок 19. Программирование микроконтроллеров для начинающих, тема видео урока компаратор на микроконтро�

RS485 и микроконтроллер

Урок 2. Разберем работу и схемотехнику rs485 интерфейса совместно с микроконтроллером. Рассмотрим схему д�

Электронные самоделки на микроконтроллере

Прибор самодельный, автоматический, для анализа качества моторного масла. Данная электронная самоделк�

Программирование МК AVR. Урок 13. ШИМ. Мигаем светодиодом плавно. Часть 1

Программирование на СИ в среде Atmel Studio. Изучаем возможность реализации ШИМ (широтно-импульсной модуляци

Видеокурс по AVR микроконтроллерам — Урок 1

Микроконтроллеры для начинающих. Обзор софта, IDE (среды разработки). Выбор языка программирования. Созда

Датчик движения микроволновой

Датчик движения микроволновой из Китая — . Прост в использовании, без участия микроконтроллера.

9 Программирование микроконтроллеров AVR. Внешние прерывания по нарастающему фронту.

1. Внешнее прерывание по восходящему фронту. 2. Задержка программы для предотвращения ложного прерывани�

7 Программирование микроконтроллеров AVR. Внешние прерывания в микроконтроллерах.

1. Простая схема для изучения прерываний на микроконтроллере ATmega8515; Простая программа, использующая .

Читать еще:  Cofra обувь официальный сайт в россии

Программирование МК AVR. Урок 7. Кнопка

Программирование на СИ в среде Atmel Studio. Изучаем порт по работе на вход. Подключим кнопку, изучим УСЛОВИЯ..

Easy AVR 2016-05-22 Встроенный АЦП микроконтроллера AVR

Вебинар «Встроенный АЦП микроконтроллера AVR» Рассмотрим: — что такое АЦП — структура и особенности работ�

Бионическая рука робота на сервоприводах

Обзор на бионическую руку от компании DFRobot . Которая состоит из акрилового материала, 5 сервоприводов, с�

Программирование микроконтроллеров. Урок 8

HM-10 bluetooth модуль 4.0

Часть 1. «Bluetooth модуль HM-10». На что обратить внимание при выборе Bluetooth модуля версии 4.0. Сделал обзор для .

Программирование МК AVR. УРОК 42. EXINT или внешние прерывания

Программирование на СИ в среде Atmel Studio. Вот наконец-то и настало время нам попробовать поработать с внеш�

Программирование МК AVR. Урок 14. USART. Связь МК с ПК. Часть 4

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

Ведущий на свадьбу, юбилей, тамада на свадьбу, свадьба в стиле стиляг. стиляжная свадьба. Александр Селиверстов сайт www.Goldsax.ru

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

Александр Добровольский: Зачем видеоканал, если сайт в ТОПЕ? (РИА «На БИС!»)

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

Александр Новожилов — анекдот про сайт знакомств.

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

Видео на медицинском сайте. Повышение лояльности пациентов. Видеомаркетинг.

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

АЛЕКСАНДР ПИСАНЕЦ САЙТ AVR

Программирование микроконтроллеров (компаратор часть1)

Урок 19. Программирование микроконтроллеров для начинающих, тема видео урока компаратор на микроконтро�

RS485 и микроконтроллер

Урок 2. Разберем работу и схемотехнику rs485 интерфейса совместно с микроконтроллером. Рассмотрим схему д�

Электронные самоделки на микроконтроллере

Прибор самодельный, автоматический, для анализа качества моторного масла. Данная электронная самоделк�

Программирование МК AVR. Урок 13. ШИМ. Мигаем светодиодом плавно. Часть 1

Программирование на СИ в среде Atmel Studio. Изучаем возможность реализации ШИМ (широтно-импульсной модуляци

Видеокурс по AVR микроконтроллерам — Урок 1

Микроконтроллеры для начинающих. Обзор софта, IDE (среды разработки). Выбор языка программирования. Созда

Датчик движения микроволновой

Датчик движения микроволновой из Китая — . Прост в использовании, без участия микроконтроллера.

7 Программирование микроконтроллеров AVR. Внешние прерывания в микроконтроллерах.

1. Простая схема для изучения прерываний на микроконтроллере ATmega8515; Простая программа, использующая .

Программирование МК AVR. Урок 7. Кнопка

Программирование на СИ в среде Atmel Studio. Изучаем порт по работе на вход. Подключим кнопку, изучим УСЛОВИЯ..

9 Программирование микроконтроллеров AVR. Внешние прерывания по нарастающему фронту.

1. Внешнее прерывание по восходящему фронту. 2. Задержка программы для предотвращения ложного прерывани�

Easy AVR 2016-05-22 Встроенный АЦП микроконтроллера AVR

Вебинар «Встроенный АЦП микроконтроллера AVR» Рассмотрим: — что такое АЦП — структура и особенности работ�

Бионическая рука робота на сервоприводах

Обзор на бионическую руку от компании DFRobot . Которая состоит из акрилового материала, 5 сервоприводов, с�

Программирование микроконтроллеров. Урок 8

HM-10 bluetooth модуль 4.0

Часть 1. «Bluetooth модуль HM-10». На что обратить внимание при выборе Bluetooth модуля версии 4.0. Сделал обзор для .

Программирование МК AVR. УРОК 42. EXINT или внешние прерывания

Программирование на СИ в среде Atmel Studio. Вот наконец-то и настало время нам попробовать поработать с внеш�

Программирование МК AVR. Урок 14. USART. Связь МК с ПК. Часть 4

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

Ведущий на свадьбу, юбилей, тамада на свадьбу, свадьба в стиле стиляг. стиляжная свадьба. Александр Селиверстов сайт www.Goldsax.ru

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

Александр Добровольский: Зачем видеоканал, если сайт в ТОПЕ? (РИА «На БИС!»)

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

Александр Новожилов — анекдот про сайт знакомств.

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

Видео на медицинском сайте. Повышение лояльности пациентов. Видеомаркетинг.

Программирование на СИ в среде Atmel Studio. Изучаем интерфейс для связи двух устройств USART (The Universal .

ความคิดเห็น • 138

Уважаемый Александр Писанец подскажите пожалуйста как сделать так чтобы после нажатия тактовый кнопки (РВ.0) поступил сигнал на выход (PD.0) после нажатия кнопки (РВ.0) некий агрегат сделал действие (сделал круг, возвратно поступательное действие) действие который фиксирует датчик на (РВ.1) что агрегат сделал действие то есть из исходного положения дошел до рабочего и обратно вернулся в исходное положение.. (РВ.0)+(РВ.1)=(PD.0) И вот вопрос каким образом создать условие допустил если я НЕ ОТЖАЛ кнопку цикл не повторялся вновь и вновь а только после каждого нажатия тактовой кнопки производилось цикл агрегат. А так спасибо за ваши уроки и труд очень многое понял на вашем канале

Класс, хорошее видео! У меня тупой вопрос. А можно ли писать программы для микроконтроллеров на языке Java?

Насколько я знаю в андроид студии есть такая возможность.

Всегда чем то привлекала елекроника. Вообще интересное занятие такое программирование?

Все зависит от целей

а почему ты использовал как флаг переменную типа char если можно было bool?

@Александр Писанец спасибо за ответ. Я просто в электронику из программирования перехожу и стараюсь память контроллера экономить.

Конечно можно, это всего один из вариантов

альтернативный вариант toggle с задержкой по тимеру или простой коунтер по while циклу PORTC ^=(1

Без борьбы с дребезгом, материал ни о чём, тем более для начинающих.

Не понял про флаги. К какому биту привязан D? К какому порту.

А каким образом можно реализовать, скажем две кнопки ?

Спасибо , интересное решение.

Вариантов много к примеру так thplus.net/widixo/5tLH8xVayhc

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

Этого не достаточно

Спасибо за видео. У меня вопрос — до Вашего видео настраивал порты на приём/передачу вот так: DDRB = 0xFF (если передача) и DDRB = 0x00 (если приём). Подобным образом присваивал значения в PORTB/PINB. А у Вас в видео используются совсем другие операторы. Где можно почитать про эти операторы — как они работают, что означают?

На 2.00 ошибка . Пин 1 порта С настраивать на выход.

Читать еще:  Bypass что это в электронной сигарете

молодец хорошый контент
P.S. ПРОДОЛЖАЙ В ТОМЖЕ ДУХЕ ; > )

Уважаемый Александр! Светодиод в схеме раком стоит, наверное надо поправить.
Вы при написании кода не указываете частоту процессора. Разве это не важно?
Если кто-то будет повторять, то в Atmel Studio нужно чтобы стоял тулчейн Atmel AVR 32bit(C language). С 8-ми битным вылетают предупреждения.

А жалко, что про дребезг нет.

Спасибо за познавательные видео по своим поделкам в частности по программированию МК. Сам начал, благодаря вам, учится програмировать. Увлекаюсь МК на любительском уровне. Уже сделал пару проэктов на АВР МК. Но сейчас столкнулся с такими — работа МК Attiny13 в Power down mode. Код написал, скомпилировал но МК после sleep и пробуждения по int0 не отрабатывает прерывания по таймеру. Сам еще плату не делал и в железе не проверял, но протеус на этот режим адекватно не реагирует. Если вам не сложно, сделайте для таких как я обучающие видео по этим режимам. Ну и если у вас будет возможность удалённо помочь советом постучите на rodgik84@gmail.com буду благодарен.

Александр, пожалуйста, скажите, где я могу узнать про вот эти значки &,=,

которые вы используете в своем коде? Что они означают? Почему например вы написали DDRC |= (1

Как научиться читать прошивку с микроконтроллера и записывать ее туда с помощью простого программатора usbasp или любого другого.

всю жизнь мечтал программировать, но так и не смог освоить. ЭХ!

скачал прогграмму и как ее запустить нет екзешного вайла

в коде нет прототипа button() и не указан тип функции

Столкнулся с такой проблемой: если кнопка вызывает довольно длительную по времени функцию, например мигание светодиода, то чтобы включить или выключить эту функцию, надо нажимать на кнопку время, соспоставимое с длительностью этой функции(

И volatile перед переменной D вы прописали чтобы состояние сохранялось после выключения?

Нет, чтобы оптимизатор при высокой оптимизации, не игнорировал данную переменную

А что за плата на демонстрации работы кнопки в начале урока? Что вы на ней делали?

Это макетка, с двумя микроконтроллерами. На ATMEGA48 реализован терморегулятор.

Добрый день! Не пойму в чем дело.Как-то странно работает программа. При первом нажатии на кнопку светодиод загорается, а вот тухнет только после трех-четырех нажатий ( Кнопку проверял, все нормально .

na 5:30 slucaino eto ne iz za togo cto simuljator ne emuliruet tot rezistor kotoroga pokazal na 3:30 ?

What is the best Arduino to start learning on?

Да, обучая, учишься сам. Программа написана на «Си». Некоторые участки, критичные к времени выполнения, можно переписать на ассемблере. Прелесть поддерживаемой этой средой версии «Си» в том, что в текст на «Си» можно используя операторы: ASM. ENDASM. вставлять текст на ассемблере.

Можно и даже нужно, на участках кода где важно время выполнения,не все так просто, особенно с переменными

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

Для этого есть другие уроки, это практическое занятие

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

вообще нравится сажать кнопки на ацп

Саша, объясните пожалуйста, что означает строка 12 и для чего это нужно ?

asm(«nop») — пустая команда, не чего не делает. Это для отладки я поставил, можно не использовать.

Больше всего не понятно как это 1

@Vitaliy Chehunov Не умножить. А сдвиг единицы на один разряд.

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

Sergey Firsov это битовое смещение. Аналог умножить на 2. т.е. 1

А как сделать в CodeVision AVR пример как здесь? Вот просто на тактовую кнопку нажал кратковременно например на порт B, а на порте D включился светодиод и этой же кнопкой и выключать его тоже кратковременным нажатием. Используется Attiny2313. CodeVision и Proteus. Уже замучался поиском решений.

в CV avr все проще . спсибо тем кто его придумал

В программирование микроконтроллеров не силён, но булевы переменные можно инвертировать так: переменная = !переменная.

Можно таким образом не только булевые инвертировать

проверил в среде адруино у вас while(1) < без скобок
и скобки всегда должны быть по парно .
и функция int button() без инициализации была
потому и криво работает вот исправил попробуйте

#include
volatile unsigned char D;
int main(void)<

+SergeyD Вы абсолютно правы, скобки нужны. Как с сам не заметил ошибки. Спасибо

все разобрался там делей надо ставить иначе дребезжит постоянно при нажатии. даже в протеусе 5 раз моргает

не работает программа побывал в протеусе

Значит неисправна 100%

+Pasha Fusion Не могу сказать почему в протеусе не работает. Я даже в начале показал как программа работает.

отличное видео. я на кодевизион работаю ни как не решусь перейти на атмелстудио. чето тяжеловато взять и сразу перейти.

@Александр Писанец у меня было такое что жесткий диск тупо отказал. с единственными данными и файлами, архивами. я чуть сознание не потерял. нужно было вести в Москву или Краснодар. там оборудование по ремонту жестких дисков чтобы данные вытащить с сгоревшего жесткого диска бешенную цену зарядили. еще хуже стало и когда полегчало я нащел такойже жестк диск и поменял плату и заработал. но память пустая была. после востоновление с какойто программой я вытащил все данные около 400гига. три дня программа автоматическом виде востонавливала целых 3дня. мне повезло наверно тогда.

Безусловно когда сам все делаеш возможности большие, потому что все понимаеш что делаеш. К сожалению все разработки занимают много времени я просто не успеваю все делать, хотя уже собирал изображение только не на велосипеде а на вентиляторе. Вентилятор крутится и появляется изображение. Я бы радостью поделился и схемой и кодом но проект увы, с жоским диском накрылся. Та много чего кануло, А создавать за нового это тяжело )

@Александр Писанец в принципе устраивает, я только мелкие программы составляю. у AtmelStudio больше возможности я как заметил да?. из сложных программ я в 3ф серво драйвере завис и еще светодиодная реклама на колесо велосипеду. 3ф серво, есть готовые схемы с прошивкой но я вникнуть хочу научиться как самому написать. я ваш канал тоже посещаю часто думая вдруг у вас что то появиться )))

+dargin darginec Если устраивает кодевизион то можго и не менять на AtmelStudio

Ссылка на основную публикацию
Adblock
detector