биты/Байты/данные

sadko
Offline
Зарегистрирован: 12.01.2015

кто поделится мегассылчкой или скажет куда лезть ,где для блондики(!!!!) будет описано, как всё это реализуется(в программе), и если такое возможно, то от простых примеров к сложным.. искал в инете - там всё как здесь в Helper -> 2 строчки и никакой информации, как это всё будет выглядеть. как примеры: чтение, сдвиг, сравнение, запись в ячейку памяти.

Всем  хорошего настроения.. :-)

vk007
Offline
Зарегистрирован: 16.06.2015

не совсем понял вопрос, но про битовые операции можно почитать тут https://www.arduino.cc/en/Reference/HomePage (разделы Bitwise Operators и Bits and Bytes) или на русском http://arduino.ua/ru/prog/ (Битовые операторы и Биты и байты)

оно?

sadko
Offline
Зарегистрирован: 12.01.2015

хотелось бы, чтобы было не пара строк, как во второй ссылке-  "такой оператор и всё", а хотя бы кусок кода,где будет хотя бы описано откуда всё берется и куда это всё вставляется. толковое описание для дЭбилов, грубо говоря.. Как пример, код из ссылки(с пояснениями и всем прочим, что бы хотя бы можно было разобраться):

int i;     // переменная счетчика
int j;
 
void setup(){
DDRD = DDRD | B11111100; // установить биты направлений для выводов с 2 по 7, оставить нетронутыми для выводов 0 и 1 (xx | 00 == xx)
// это тоже самое что и оператор pinMode(pin, OUTPUT) для выводов с 2 по 7
Serial.begin(9600);
}
 
void loop(){
for (i=0; i<64; i++){
 
PORTD = PORTD & B00000011;  // очистить биты с 2 по 7, оставить биты (а занчить и выводы) 0 и 1 неизмененными (xx & 11 == xx)
j = (i << 2);               // сдвинуть переменную на два бита влево к пинам 2 -7, чтобы не затронуть пины 0 и 1
PORTD = PORTD | j;          // скомбинирвать значение порта с новым значением
Serial.println(PORTD, BIN); // для отладки выведем значение порта в терминал
delay(100);
   }
}

да, я знаю, я, походу, многого хочу. но всё же, может кто видел ГРАМОТНО(!) обработанную инфу по этой теме.  

vk007
Offline
Зарегистрирован: 16.06.2015

sadko пишет:

хотелось бы, чтобы было не пара строк, как во второй ссылке-  "такой оператор и всё"

т.е. "такой оператор и всё"??? там разжевано куда уж подробней! каждый битовый оператор на целую страницу расписан!

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

sadko, хороших учебных пособий нет. Потому, что пишут эти справочники люди, которые давно всё освоили, и им трудно представить что ж тут может быть непонятного, и куда же ещё подробней, как вам пишет vk007.  Но как говорится "сытый голодного не разумеет".  материал подаётся недостаточно разжеванным. Мало того, некоторые вещи вообще нигде толком не объясняются,  просто приводится краткий смысл. Например почему так  (1<<бит) делают, а  так (0<<бит) нет . Мне приходилось свой головой находить объяснение, когда начинал изучать.

vk007
Offline
Зарегистрирован: 16.06.2015

sadko пишет:

может кто видел ГРАМОТНО(!) обработанную инфу по этой теме.  

https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%B0...

https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B5...

 

vk007
Offline
Зарегистрирован: 16.06.2015

dimax пишет:

им трудно представить что ж тут может быть непонятного

Трудно что-то объяснить если не знаешь уровень знаний спрашивающего. И, как оказалось, для ТС надо было начать, что такое бит и байт,  а уже потом про операции с ними.

sadko
Offline
Зарегистрирован: 12.01.2015
dimax, соглашусь с Вами. да, в большинстве все книги по любой тематике написаны по принципу - "я понял. что тут может быть не понятного? давайте дальше." и это огорчает... ну что ж, будем искать... :-)
 
vk007, да, я понял, куда мне до Вас.. я просто спросил, чтобы уже перейти на следующий уровень, а не всё диодиком мигать.. ;-)
 
 
vk007
Offline
Зарегистрирован: 16.06.2015

sadko пишет:

я понял, куда мне до Вас.. я просто спросил, чтобы уже перейти на следующий уровень, а не всё диодиком мигать.. ;-)

я Вам и ответил, со ссылками, как смог, а Вы только свое "фе" высказали. не угодил барину...

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

vk007
Offline
Зарегистрирован: 16.06.2015

А вообще, забудьте пока о битах и байтах. Язык ардуино тем и хорош, что имеет низкий порог вхождения. Например, не надо думать о портах контроллера и как с ними работать - есть digitalWrite(), digitalRead(). Тут у большинства от применения в коде delay() волосы дыбом встают - забудьте, применяйте наздоровье. И вот только когда Вам будет "тесно", тогда будете думать о битах, прямой работе с портами, millis(), прерываниями и т.д. и т.п. Возьмите себе в работу какой-то настоящий несложный проект и уже в процессе работы с ним будете потихоньку изучать нюансы, постоянно надоедая гуглу с яндексом, и, поверьте, научитесь. Способность к самообучению, хоть мизерная, но есть у каждого. Меня гугл часто уже проверяет не бот ли я, ему не нравится, что от меня идет слишком много поисковых запросов.

sadko
Offline
Зарегистрирован: 12.01.2015

vk007,ну вот тут Вы немного перегнули. ни в каком из сообщений я не просил мне писать код. тем более не хотел кого-то им нагружать. нет, я конечно могу начать сюда написать кучу вопросов, но только за чем?! я всего лишь просто спросил - никому ссылка( С БОЛЕЕ ПОНЯТНЫМ ОПИСАНИЕМ ) не попадалась? и усё. :-)

===

Это как раз и есть уже камень претконвения в финишной части моего проетка. :-)

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Вероятно, вам поможет товарищ DIHALT с его уроками C для AVR - часть 1, часть 2, часть 3, часть 4.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

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

sadko
Offline
Зарегистрирован: 12.01.2015

 спасибо, Yarik.Yar, я посмотрю..

 
  спасибо,SU-27-16, я подумаю над Вашим предложением. ;-)
vk007
Offline
Зарегистрирован: 16.06.2015

sadko пишет:

ну вот тут Вы немного перегнули

перегнул и обобщил

sadko пишет:

Это как раз и есть уже камень претконвения в финишной части моего проетка. :-)

так спросите конкретно об этом камне, только вопрос составьте четким и полным - и точно получите ответ. тут не любят только тупых вопросов (впрочем, где их такие любят)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

прикольно и доходчиво :)
http://www.helloworld.ru/texts/comp/lang/c/c6/index.htm