Вопрос по Ардуино.

koderman
Offline
Зарегистрирован: 06.02.2020
Я только начинаю разбираться с Ардуино и появляются вопросы, которые не понимаю из изучаемой мной информации. Пытаюсь сам разобраться конечно, но не всё поддаётся.
Например:
Кому не лень посмотрите, с привязкой ко времени.
Эта закономерность присутствует на всех микроконтроллерах? Порядковый номер бита соответствует номеру порта. А если в порте будет 10 пинов, этот метод уже не сработает ведь.
rkit
Offline
Зарегистрирован: 23.11.2016

Не на всех. Номер бита соответствует номеру пина, а не порта. Сработает, числа бывают больше 8 бит.

Если только начинаешь изучать ардуино, то ролики о не-ардуино программировании от плохих учителей только запутают. Изучи стандартную среду основательно, изучи программирование, и только потом лезь в кишки.

koderman
Offline
Зарегистрирован: 06.02.2020
Я по всему ютюбу буду смотреть. Наверняка есть и хорошие учителя среди них. Тот что на видео тоже нормальный. Не так много информации по микроконтроллерам в доступной, не мозгодробительной форме.
Мне хочется сначала узнать устройство микроконтроллера, чтоб знать с чем имею дело.
Жутко интересно.
 
А, ок. Если пинов будет 20, то номер пина в двоичной форме будет выглядеть так: 10000000000000000000
Действительно удобно. Я думал обязательно восемь цифр должно быть в номере пина.
rkit
Offline
Зарегистрирован: 23.11.2016

Надо же, теперь считать каждый раз вручную 19 нулей - удобно

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

koderman пишет:

А, ок. Если пинов будет 20, то номер пина в двоичной форме будет выглядеть так: 10000000000000000000
Действительно удобно. Я думал обязательно восемь цифр должно быть в номере пина.

Можно так: 1<<20

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

koderman пишет:
Я по всему ютюбу буду смотреть.
А что, читать Вы не умеете?

Green
Offline
Зарегистрирован: 01.10.2015

mykaida пишет:

Можно так: 1<<20

Не прокатит.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

koderman пишет:

Эта закономерность присутствует на всех микроконтроллерах? Порядковый номер бита соответствует номеру порта. А если в порте будет 10 пинов, этот метод уже не сработает ведь.

вообще-то это не "закономерность", а свойство двоичной системы счисления. И собственно к микроконтроллерам никакого отношения не имеет.

В 8-разрядных контроллерах не бывает портов с более чем 8 пинами. Например, в классическом Uno пины разделены между тремя портами: B, C и D: http://arduino.ru/forum/obshchii/pin-mapping-sootvetstvie-vyvodov-i-registrov

В 32-разрядных контроллерах порты обычно длиннее: 16-разрядные в stm32 и 32-разрядные в Due.

koderman
Offline
Зарегистрирован: 06.02.2020
ЕвгенийП, я лучше воспринимаю аудио-визуально, так видно в каком месте автор видео сам не очень понимает и этот момент надо уточнить в википедии или где то ещё.
А написать можно что угодно, бумага не краснеет, купил книгу по электронике например с ошибками, всегда можно сказать что опечатка.
Плюс в видосах пытаются изложить понятно, от этого будет зависеть популярность видео. В книгах пытаются изложить заумно. 
 
 
arduino, В микроконтроллере atmega328 на Ардуино УНО ведь нет регистра А. В таблице он присутствует.
 
Свойство бинарной системы?
Хочу я например открыть пятый Пин. В бинарной системе цифра 5 это: 0101. А открою я пятый пин в ардуино так(если в регистре 8 пинов):0001
DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

боюсь, что после ютубовских мультиков ты будешь дальше от цели, чем щас. 

rkit
Offline
Зарегистрирован: 23.11.2016

koderman пишет:

Хочу я например открыть пятый Пин. В бинарной системе цифра 5 это: 0101. А открою я пятый пин в ардуино так(если в регистре 8 пинов):0001


Не угадал.

b707
Offline
Зарегистрирован: 26.05.2017

koderman пишет:

arduino, В микроконтроллере atmega328 на Ардуино УНО ведь нет регистра А. В таблице он присутствует.
 
ГДЕ??
Вот убей - не вижу в этой табличке порта А в Уно. Покажешь?
 
Цитата:
Свойство бинарной системы? Хочу я например открыть пятый Пин. В бинарной системе цифра 5 это: 0101. А открою я пятый пин в ардуино так(если в регистре 8 пинов):0001

Похоже, просмотр видосов в Ютубе уже действует. Если уж споришь, пиши правильно. Откроешь ты пятый пин так: B00010000. Ну и что тебя удивляет? - пятый пин - это не цифра пять в двоичной системе, это пятый справа бит

 Скоро таблицу умножения забудешь и агукать начнешь.

Разница между Ютубом и книжками в том, что книжки пишут те, кто разбирается, а видосы снимают всякие недотепы, знающие одну букву, да и ту неверно.

koderman
Offline
Зарегистрирован: 06.02.2020

Это наверное что то в регистре С. Ок.

Пойду читать, смотреть, учить))
b707
Offline
Зарегистрирован: 26.05.2017

читать не умеете?

A0 - A5 - это не порт, а название пина в Ардуино. "А" - потому что аналоговый, чтоб новичкам было понятней. А порт у этих пинов - С, верхняя строчка

koderman
Offline
Зарегистрирован: 06.02.2020
АЦП. Ок. Понял.
b707
Offline
Зарегистрирован: 26.05.2017

Добавлю - книги пишут умные люди для умных людей, а видосы снимают болваны для болванов. Потому Ютуб и популярен, что болванам, конечно, понятнее, когда им обьясняют на их уровне :) А книжки им кажутся "заумными".

Проблема в том, что если будешь "учиться по видео" - так навсегда болваном и останешься.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

DetSimen пишет:

боюсь, что после ютубовских мультиков ты будешь дальше от цели, чем щас. 

Там всё ещё запущеннее

koderman пишет:
в каком месте автор видео сам не очень понимает и этот момент надо уточнить в википедии

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707 пишет:

читать не умеете?

Так, вроде, ТС уже ответил на этот вопрос - не умеет, умеет только видео смотреть.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

koderman пишет:

arduino, В микроконтроллере atmega328 на Ардуино УНО ведь нет регистра А. В таблице он присутствует.
 
Прочитайте внимательно заголовок рисунка.
Так вот, первая таблица - это PIN MAPPING, а последующие - REG MAPPING. 
Ну или хотя бы дочитайте до сообщения №2, где только REG MAPPING.