Изменения

Перейти к: навигация, поиск

Arduino

476 байт убрано, 10:52, 20 марта 2019
Общая информация
= Общая информация =
* Методичка/Книга [https://docs.google.com/document/d/1bDCyNURCL4vtBt96BZDe56C4fJJWLA7_b3P4lXrUvzY/edit "Разработка микропроцессорных систем"]
* [http://forum.arduino.cc/index.php?topic=73748.0 Loop-Back Test] -- описание одного из методов тестирования МК.
* [https://cdn.solarbotics.com/products/documentation/ardx-eg-sola-russian.pdf Руководство по освоению Arduino] (на русском языке)
* Brian W. Evans, [http://playground.arduino.cc/uploads/Main/arduino_notebook_v1-1.pdf arduino programming notebook] (на анлийском языке)
 
= Прерывания =
Допустим, мы сделали "бегущий огонь" и теперь хотим прикрутить кнопку для управления режимом светодиодов* [http://www. Самым прямолинейным решением, на первый взгляд, является считвание значение кнопки в начале <code>loop<engblaze.com/code>we-interrupt-this-program-to-bring-you-a-tutorial-on-arduino-interrupts/ We interrupt this program to bring you an Arduino interrupt tutorial] (англ. Собираем схему, добавляем считывание значения с цифрового порта и логику переключения режимов)* [http://www.engblaze. Всё бы хорошо, но наше кратковременное нажатие на кнопку обычно приводит к многократному считыванию значения; как следствие, логика не работает, как должнаcom/microcontroller-tutorial-avr-and-arduino-timer-interrupts/ Microcontroller tutorial series: AVR and Arduino timer interrupts] (англ.)
Плюс= Работа с программатором =* Vcc2GND, добавляя кнопку в наш проект, мы добавляем в наш проект неопределённость [http://www.instructables.com/id/Uploading-Sketch-to-Arduino-Pro-Mini- нажатие на кнопку может возникнуть в любой момент, и (если всё делать поusing-нормальному) мы должны обрабатывать это событие в тот момент, как оно возникла. В таких случаях говорят, что событие возникает асинхронно (по отношению к нашей программе.)usbASP/ "Uploading Sketch to Arduino Pro Mini using usbASP"]
Для правильного решения данной задачи необходимо использовать прерывания. == Реакция на внешние события =Подключение оборудования =Для обработки внешнего асинхнонного события нам потребуются как минимум две вещи:* Написать обработчик события[[Arduino/MT-16S2H|ЖК-дисплей МЭЛТ MT-16S2H]]* Связать обработчик с внешним событием TODO[[Arduino/RotaryDial|Дисковый номеронабиратель]]
=Arduino Nano 168p = Прерывания по таймеру ==TODOСпецифика работы с Arduino Nano на базе микроконтроллера MEGA 168PA.* http://playground.arduino.cc/Bootloader/ArduinoBootloader168P
== СмСудя по отзывам на AliExpress, некоторые Arduino на базе МК 168pa поставляются без загрузчика. также ==* [http://www.engblaze.com/we-interrupt-this-program Необходимо прошить сначала загрузчик через USBasp, потом уже использовать обычное подключение по USB (встроенный USB-to-bring-you-a-tutorial-on-arduino-interrupts/ We interrupt this program to bring you an Arduino interrupt tutorial] (англ.UART)* [http://www.engblaze.com/microcontroller-tutorial-avr-and-arduino-timer-interrupts/ Microcontroller tutorial series: AVR and Arduino timer interrupts] (англ.) = Подключение оборудования =* [[Arduino/МТ–16S2H|ЖК-дисплей МЭЛТ MT–16S2H]]
[[Категория:База знаний]]

Навигация