Skip to content

Commit

Permalink
sections/white-noise: Исправление ошибок
Browse files Browse the repository at this point in the history
Исправление ошибок, упомянутых V4n0M4sk в
<#3>

* sections/white-noise-serial-port.tex: Исправление ошибок и форматирования.
* sections/white-noise-signal-types.tex: Улучшение формулировок и исправление
  ошибок.
  • Loading branch information
artyom-poptsov committed May 30, 2024
1 parent dc1d99f commit cd1183d
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 14 deletions.
35 changes: 22 additions & 13 deletions sections/white-noise-serial-port.tex
Original file line number Diff line number Diff line change
Expand Up @@ -244,11 +244,11 @@ \subsubsection{Чтение чисел}
Функция \texttt{Serial.parseInt} просматривает данные, поступившие на Arduino, и
ищет среди них набор кодов (чисел) от 48 до 57, которые соответствуют символам
чисел от 0 до 9 и преобразует все это в правильное целочисленное значение. Таким
образом если вы с монитора порта передадите "число" (на самом деле, строку)
образом если вы с монитора порта передадите ``число'' (на самом деле, строку)
``72'', данный метод увидит 2 последовательных байта 55 и 51, корректно
преобразует его в число 72 и вернет его как правильное целочисленное значение.
Давайте напишем маленькую эхо-программу, которая покажет принцип работы данной
функции и позволит вам узнать какому символу соответствует то или иное число.
функции и позволит вам узнать, какому символу соответствует то или иное число.

\begin{minted}{cpp}
int incoming_int = 0;
Expand All @@ -269,17 +269,26 @@ \subsubsection{Чтение чисел}
}
\end{minted}

Данная программа будет работать так. Если в мониторе порта вы введете строку
``72'' то монитор порта отправит его на Arduino как два байта данных в виде
чисел 55 и 51, функция \texttt{Serial.parseInt} подождет 2000 миллисекунд (как
видите я поменял время ожидание с 1 секунды на 2 секунды, чтобы нагляднее
показать кое какие аспекты) увидит эти два значения и преобразует их в одно
целочисленное 72 и присвоит его переменной \texttt{incoming\_int}, мы с помощью
метода \texttt{Serial.write} передадим число 72 как есть обратно в монитор порта
(почему именно этот метод нужен читайте далее) где монитор порта корректно
преобразует число 72 в соответствующий символ и покажет нам символ ``H'' который
соответствует коду 72. Таким образом мы можем передавать числовые значения с
компьютера на платформу Arduino и дальше использовать эти значения.
Мы специально поменяли с помощью функции \texttt{Serial.setTimeout} время
ожидания с 1000мс (умолчальное значение) на 2000мс, чтобы нагляднее показать
некоторые аспекты работы последовательного порта.

Примерный алгоритм работы данной программы следующий:
\begin{itemize}
\item Если в мониторе порта вы введете строку
``72'', то монитор порта отправит её на Arduino как два байта данных в виде
чисел 55 и 51.
\item Функция \texttt{Serial.parseInt} ждёт 2000 миллисекунд.
\item После этого функция \texttt{Serial.parseInt} ``увидит'' эти два значения и
преобразует их в одно целочисленное значение 72.
\item Произойдёт присвоение значения переменной \texttt{incoming\_int}.
\item С помощью метода \texttt{Serial.write} программа передаёт значение
переменной \texttt{incoming\_int} (число 72 в данном примере) обратно на
комьпьютер.
\item На компьютере монитор порта корректно преобразует число 72 в
соответствующий символ и покажет нам символ ``H'' который соответствует коду
72.
\end{itemize}

\subsection{Задачи}

Expand Down
2 changes: 1 addition & 1 deletion sections/white-noise-signal-types.tex
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ \section{Виды сигналов}
аналоговые сигналы.

Благодаря возможности считывать аналоговые сигналы, компьютер или
микроконтроллер может получать самую различную информацию об окружающем мире,
микроконтроллер может получать самую разную информацию об окружающем мире,
ведь масса различных параметров окружающей среды представлены именно некоторым
диапазоном значений, которые не имеют чётких делений: температура, влажность,
освещённость, атмосферное давление и т.п.
Expand Down

0 comments on commit cd1183d

Please sign in to comment.