Монк - Программируем Arduino. Профессиональная работа со скетчами.

Здесь есть возможность читать онлайн «Монк - Программируем Arduino. Профессиональная работа со скетчами.» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: СПб., Год выпуска: 2017, ISBN: 2017, Издательство: Издательский дом Питер, Жанр: Программирование, Компьютерное железо, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программируем Arduino. Профессиональная работа со скетчами.: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программируем Arduino. Профессиональная работа со скетчами.»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.
Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.
Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches». Несмотря на то что эта книга включает краткое повторение основ из книги «Programming Arduino», она познакомит читателя с более продвинутыми аспектами программирования плат Arduino.

Программируем Arduino. Профессиональная работа со скетчами. — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программируем Arduino. Профессиональная работа со скетчами.», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

В заключение

В этой главе вы познакомились с шиной 1-Wire и узнали, как использовать ее для подключения популярного температурного датчика DS18B20.

В следующей главе мы исследуем еще одну разновидность последовательного интерфейса с названием SPI.

9. Взаимодействие с устройствами SPI

Последовательный периферийный интерфейс (Serial Peripheral Interface, SPI) — еще одна последовательная шина для подключения периферийных устройств к плате Arduino. Это быстрая шина, но для передачи данных в ней используются четыре линии против двух, используемых интерфейсом I2C. В действительности SPI не является истинной шиной, так как четвертая линия в нем называется «выбор ведомого» (Slave Select, SS). Каждое периферийное устройство на шине должно быть соединено своей линией SS с отдельным контактом на плате Arduino. Такая схема подключения эффективно выбирает нужное периферийное устройство на шине, отключая все остальные.

Интерфейс SPI поддерживается широким спектром устройств, включая многие типы тех же устройств, что поддерживают I2C. Нередко периферийные устройства поддерживают оба интерфейса, I2C и SPI.

Операции с битами

Взаимодействие по интерфейсу SPI часто связано с выполнением большого объема операций с отдельными битами. Первый пример, демонстрирующий использование АЦП на основе микросхемы MCP3008, в частности, требует хорошего понимания битовых операций и того, как маскировать ненужные биты, чтобы получить целое значение при чтении аналогового сигнала. По этой причине, прежде чем погружаться в особенности работы SPI, я хочу подробно поговорить об операциях с битами.

Двоичное и шестнадцатеричное представление

Впервые с битами мы встретились в главе 4 (см. рис. 4.2). Оперируя битами в байте или в слове (два байта), можно использовать их десятичные значения, но выполнять мысленно преобразования между двоичным и десятичным представлениями очень неудобно. Поэтому в скетчах для Arduino значения часто выражаются в виде двоичных констант, для чего поддерживается специальный синтаксис:

byte x = 0b00000011; // 3

unsigned int y = 0b0000000000000011; // 3

В первой строке определяется байт с десятичным значением 3 (2 + 1). Ведущие нули при желании можно опустить, но они служат отличным напоминанием о том, что определяется 8-битное значение.

Во второй строке определяется значение типа int, состоящее из 16 бит. Квалификатор unsigned перед именем типа int указывает, что определяемая переменная может хранить только положительные числа. Этот квалификатор имеет значение лишь для операций с переменной, таких как +, –, * и др., которые не должны применяться, если переменная предназначена для манипуляций с битами. Но добавление слова unsigned в определения таких переменных считается хорошей практикой.

Когда дело доходит до 16-битных значений, двоичное представление становится слишком громоздким. По этой причине многие предпочитают использовать шестнадцатеричную форму записи.

Шестнадцатеричные числа — это числа в системе счисления с основанием 16, для обозначения цифр в этой системе используются не только десятичные цифры от 0 до 9, но и буквы от A до F, представляющие десятичные значения от 10 до 15. В этом представлении каждые четыре бита числа можно представить единственной шестнадцатеричной цифрой. В табл. 9.1 перечислены десятичные значения от 0 до 15 и показаны их двоичные и шестнадцатеричные представления.

Таблица 9.1.Двоичные и шестнадцатеричные числа

Десятичное значение Двоичное значение Шестнадцатеричное значение
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

Шестнадцатеричные константы, как и двоичные, имеют специальную форму записи:

int x = 0x0003; // 3

int y = 0x010F; // 271 (256 + 15)

Эту форму записи используют не только в программном коде на C, но и в документации, чтобы показать, что число является шестнадцатеричным, а не десятичным.

Маскирование битов

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программируем Arduino. Профессиональная работа со скетчами.»

Представляем Вашему вниманию похожие книги на «Программируем Arduino. Профессиональная работа со скетчами.» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Программируем Arduino. Профессиональная работа со скетчами.»

Обсуждение, отзывы о книге «Программируем Arduino. Профессиональная работа со скетчами.» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x