Формирование запроса

Fekla
Offline
Зарегистрирован: 16.12.2012

Поискав по форуму, я все таки нашла решение, как заставить светится светодиоды на четырех свдиговых регистрах в нужном направлении:

//Пин подключен к ST_CP входу 74HC595
const int latchPin = 8;
//Пин подключен к SH_CP входу 74HC595
const int clockPin = 12;
//Пин подключен к DS входу 74HC595
const int dataPin = 11;

void setup() 
{
 pinMode(latchPin, OUTPUT);
 pinMode(dataPin, OUTPUT);  
 pinMode(clockPin, OUTPUT);
}

void loop() 
{
  for(char thisLed = 0; thisLed < 32; thisLed++) 
  {
    registerWrite(thisLed, 1);
   delay(100); 
  }
}


void registerWrite(int whichPin, int whichState) {

  long bitsToSend = 0; 

 digitalWrite(latchPin, LOW);

  bitWrite(bitsToSend, whichPin, whichState);

  byte register3 = (bitsToSend) >> 24;
  byte register4 = (bitsToSend) >> 16;
  byte register5 = (bitsToSend) >> 8;
  byte register6 = (bitsToSend);
 
  shiftOut(dataPin, clockPin, MSBFIRST, register3);
  shiftOut(dataPin, clockPin, MSBFIRST, register4);
  shiftOut(dataPin, clockPin, MSBFIRST, register5);
  shiftOut(dataPin, clockPin, MSBFIRST, register6);
 
  digitalWrite(latchPin, HIGH);
}

Теперь встал вопрос об управлении светодиодами. В преведенном коде управление только одним светиком, а хотелось бы управлять двумя - четырмя за раз.

Конечно, можно многократно вызывать registerWrite, но это не совсем правильно и несколько ресурсоемко.

Поэтому вопрос, как сформировать вызов так, чтобы за раз можно было зажечь несколько произвольных светиков?

Заранее спасибо.

leshak
Offline
Зарегистрирован: 29.09.2011
long bitsToSend = 0;

замените на

static long bitsToSend = 0;

И тогда каждый вызов registerWrite() будет выставлять whichPin в состояние whichState не сбрасывая остальные светики в ноль.

 

 

Fekla
Offline
Зарегистрирован: 16.12.2012

leshak, спасибо, но это немного не то. Мне надо чтобы при каждом вызове указывать не один светик, а 2 или 4, и чтобы светики с прошлого вызова очищались.

leshak
Offline
Зарегистрирован: 29.09.2011

Ну тогда нужно, для начала разобратся как работает тот код что у вас уже есть.
Выяснить что делает функция bitWrite, и как перевести, дословно "bits to Send" (переменная такая есть).

Fekla
Offline
Зарегистрирован: 16.12.2012

Я примерно представляю как работает код, и понимаю что для моей задачи можно обойтись без bitWrite. Но не пойму как составить значение переменной. Например, я нажимаю 4 разных кнопки и надо зажечь соответствующие светики, т.е. значение переменной будет, например такое 1000000010000100000001000000 (134758464 в десятичной системе), или в такое 10000000000000101000000000000010 (2147647490). Но вот как программно создавать такие значения следуя условию?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Есть такое математическое действие СЛОЖЕНИЕ. Тоесть каждому светику соотвествует свое число если сложить 2 числа то получиться сумма для поджигания 2 светиков. Ну и так далее. К каждой кнопке лепим число. Считаем сумму и отсылаем на светики.

Fekla
Offline
Зарегистрирован: 16.12.2012

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

//Пин подключен к ST_CP входу 74HC595
const int latchPin = 8;
//Пин подключен к SH_CP входу 74HC595
const int clockPin = 12;
//Пин подключен к DS входу 74HC595
const int dataPin = 11;

void setup() 
{
  Serial.begin(9600);
 pinMode(latchPin, OUTPUT);
 pinMode(dataPin, OUTPUT);  
 pinMode(clockPin, OUTPUT);
}

void loop() 
{
  
   long  ByteSend1 = 0;
  long  ByteSend2 = 0; 
  long  ByteSend = 0; 
  
  for(char thisLed = 0; thisLed < 16; thisLed++) 
  {
     bitWrite(ByteSend1, thisLed, 1);
    bitWrite(ByteSend2, thisLed+16, 1);
    
    ByteSend = ByteSend1 + ByteSend2;
    
   Serial.println(ByteSend, DEC); 
    registerWrite(536813567, 1);  
   delay(100); 
  }
}


void registerWrite(int bitsToSend, int whichState) {

 digitalWrite(latchPin, LOW);


  byte register3 = (bitsToSend) >> 24;
  byte register4 = (bitsToSend) >> 16;
  byte register5 = (bitsToSend) >> 8;
  byte register6 = (bitsToSend);

  shiftOut(dataPin, clockPin, MSBFIRST, register3);
  shiftOut(dataPin, clockPin, MSBFIRST, register4);
  shiftOut(dataPin, clockPin, MSBFIRST, register5);
  shiftOut(dataPin, clockPin, MSBFIRST, register6);
 
  digitalWrite(latchPin, HIGH);
}

 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

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

leshak
Offline
Зарегистрирован: 29.09.2011

Fekla пишет:

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

Ну, во первых я могу только повториться: выясните что же делает функция bitWrite. Тогда, может быть, станет понятно, что строка 

ByteSend = ByteSend1 + ByteSend2;

Нафиг не нужна. (и вообще заводить две переменные ByteSend1,2) - лишняя затея. Сразу в ByteSend устанавливается что вы там хотите.

И это.... почему они вдруг стали Long-гами?  Причем передаем их в функцию которая принимает int?
Не кажется странным в имени переменной типа long использовать слово byte, а использовать ее как int?

Далее, thisLed у вас меняется от 0 до 16-ти... при этом вы делаете попытку устанавливать thisLed+16, то есть... что будет когда thisLed будет, скажем равень 16-ти. Пытаемся установить 32-й бит? У вас сколько светиков?  Сколько бит отсылает registerWrite?

byte register3 = (bitsToSend) >> 24;
byte register4 = (bitsToSend) >> 16;
byte register5 = (bitsToSend) >> 8;
byte register6 = (bitsToSend);

А сколько у нас байт в int-те? Какого типа у нас bitsToSend? Читаем int   

P.S. А вообще, ход мысли - правильный. Довльно "близко к правде", только привыкнуть к вдумчивому обращению с типами, и читать доку на функции которые используем.

 

Fekla
Offline
Зарегистрирован: 16.12.2012

leshak пишет:

Ну, во первых я могу только повториться: выясните что же делает функция bitWrite.

Про bitWrite я прочитала, и вроде бы поняла, что эта функция записывает в перменную бит по указанному адресу, если так можно сказать.

leshak пишет:

Тогда, может быть, станет понятно, что строка

ByteSend = ByteSend1 + ByteSend2;

Нафиг не нужна. (и вообще заводить две переменные ByteSend1,2) - лишняя затея. Сразу в ByteSend устанавливается что вы там хотите.

Вот я и пытаюсь понять как это сделать. Как сформировать правильно.

leshak пишет:

И это.... почему они вдруг стали Long-гами?  Причем передаем их в функцию которая принимает int?
Не кажется странным в имени переменной типа long использовать слово byte, а использовать ее как int?

Да, тут я проглядела. IDE не очень удобная, не всегда замечаешь мелочи.

leshak пишет:

Далее, thisLed у вас меняется от 0 до 16-ти... при этом вы делаете попытку устанавливать thisLed+16, то есть... что будет когда thisLed будет, скажем равень 16-ти. Пытаемся установить 32-й бит? У вас сколько светиков?  Сколько бит отсылает registerWrite?

Ну я же писала что всего 4 регистра, соответственно 32 светика. thisLed+16 нужен для теста, чтобы задействовать вторую пару регистров независимо от первой - для удобства разделила на 2 пары.

 

 

 

 

leshak
Offline
Зарегистрирован: 29.09.2011

Fekla пишет:

leshak пишет:

Ну, во первых я могу только повториться: выясните что же делает функция bitWrite.

Про bitWrite я прочитала, и вроде бы поняла, что эта функция записывает в перменную бит по указанному адресу, если так можно сказать.

Ну ваша формулировка немного "расплывчата" (по крайней мере - я не могу понять ее однозначно).

Давайте посмотрим в доку: http://arduino.ua/ru/prog/BitWrite "Изменяет состояние указанного бита переменной"

Представте себе что у вас есть доска. С лунками. 32-штуки. В лунках лежат шарики. Черные и белые.

И есть "Вася" (bitWrite), который умеет делать только одну вещь:  ты даешь ему шарик, и говоришь в какую лунку его нужно положить (а тот шарик который там лежит сейчас - Вася выкинет нафиг).
Предположим, что у нас сейчас во всех лунках - черные шарики
(нули. ByteSend=0, означает "все биты в нулях").
Теперь мы хотим что-бы в 3-й и 17-й лунки были белые шарики?  Что мы должны сделать?
Дать васе доску с луками (ByteSend), и дважды скомандовать "вот тебе белый шарик - положи в третью лунку", а потом сказать "вот тебе белый ширк - положи в 17-тую".
Все. Доска приняла нужный нам вид (проверяем это Serial.println(ByteSend,BIN), только не пугаемся помни что "лидирующие нули - показываться не будут". То есть число "00010" выведется как "10", нули впереди нужно додумывать. если вывелось короче чем ждали - значит впереди нуля))

 

И, что-бы именем переменной не вводить сумятицу, лучше обозвать ее "нейтрально", не привязывая к типа. Скажем DataToSend вместо, ByteSend.  А если потом вспомнить, что переменные принято называть с маленькой буквы, то еще раз переименовать в dataToSend

Fekla пишет:

Да, тут я проглядела. IDE не очень удобная, не всегда замечаешь мелочи.

Это, блин, не "мелочи". Неправильный подбор типов - один из основных источников "граблей".
И никакая IDE вам не подскажет, что вы тут взяли переменную long и передали ее в функцию принимающию int.
Откуда компилятору знать?  Может вам именно и нужно "отбросить два лишних байта" и работать с оствшимися двумя? 
В этом и сила/выразительность c/c++, с другой стороны и спрос с программера больше: тысяча и один способ "выстрелить себе в ногу".
Зато никаких ограничений :)
Так что привыкайте смотреть на тип КАЖДОЙ переменной, КАЖДОГО параметра.

Так что выбор long - он вполне корректный для четырех регистров.
Но, лично я, выбрал бы unsigned long, просто что-бы, при выводе serial.println(,DEC) - не видитеть отрицательных чисел. Но с точки зрения "работоспособности", long - тоже покатит.

leshak пишет:

Далее, thisLed у вас меняется от 0 до 16-ти... при этом вы делаете попытку устанавливать thisLed+16, то есть... что будет когда thisLed будет, скажем равень 16-ти. Пытаемся установить 32-й бит? У вас сколько светиков?  Сколько бит отсылает registerWrite?

Fekla пишет:

Ну я же писала что всего 4 регистра, соответственно 32 светика. thisLed+16

Код - тоже вы написали. А в нем я вижу int. А это два байта. 16-ть светиков. Два регистра.
И компилятор, кстати - тоже видит.

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

Fekla пишет:

нужен для теста, чтобы задействовать вторую пару регистров независимо от первой - для удобства разделила на 2 пары.

Зачем разбивать на "две пары", что-бы потом учится их соединять?  Можно, конечно, но.... почему бы просто два раза не вызвать bitWrite для одной и той же переменной?

Или, если вам рассуждать легче "парами".
Ну так не объединяйте их.
Сделайте registerWrite(int bitsToSend1,int bitsToSend2);   (кстати, зачем нам параметр whichState, если мы больше его не используем?)

И пихайте прямо "парой". И свои register3,register4 извлекайте из одного bitsToSend, а register5,6 - из другого.
 

leshak
Offline
Зарегистрирован: 29.09.2011

И да, обратите внимание, что вы вызываете

 registerWrite(536813567

Фиксированное число. Всегда одно и тоже. ByteSend - вы выставляете, но потом - только в монитор его отправляете.

Кстати, если почитаете   Целочисленные константы | Аппаратная платформа Arduino , то узнаете что можно было не переводить в десятичное на калькуляторе, а так и написать "как хочется": registerWrite(B11111111111110001111111111111, прямо в двоичном виде.

Ну и Serial.println() | Аппаратная платформа Arduino  перечитать. Что-бы и знать как выводить в двоичном виде, и смотреть в мониторе, чтоже, в итоге, образуется в переменных ByteSend,bitsToSend, registerN

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

leshak

> .....что переменные принято называть с маленькой буквы, то еще раз переименовать в dataToSend

извините, что влез с вопросом.... это наверное сишное соглашение, да ? ....а я-то все переменные луплю с большой :( , типа DataToSend :(

Fekla
Offline
Зарегистрирован: 16.12.2012

leshak пишет:
"вот тебе белый шарик - положи в третью лунку", а потом сказать "вот тебе белый ширк - положи в 17-тую"

Это я примерно и имела ввиду, когда говорила про "записывает в перменную бит по указанному адресу". Только о чем я не подумала, так это о том, что можно несколько раз вызывать bitWrite и в одну переменную записывать разные значения.

leshak пишет:
Это, блин, не "мелочи". Неправильный подбор типов - один из основных источников "граблей".
И никакая IDE вам не подскажет, что вы тут взяли переменную long и передали ее в функцию принимающию int.

Я имела ввиду, что сам int маленький :)

leshak пишет:
Или, если вам рассуждать легче "парами".
Ну так не объединяйте их.
Сделайте registerWrite(int bitsToSend1,int bitsToSend2);   (кстати, зачем нам параметр whichState, если мы больше его не используем?)

И пихайте прямо "парой". И свои register3,register4 извлекайте из одного bitsToSend, а register5,6 - из другого.

Я сейчас почти так же сделала, только не 2 параметра, а 4. Но это не совсем удобно, попробую сделать по вашему совету с 2 параметрами.

void registerWrite(int register1, int register2, int register3, int register4) {
digitalWrite(latchPin, LOW);

  shiftOut(dataPin, clockPin, MSBFIRST, register4);
  shiftOut(dataPin, clockPin, MSBFIRST, register3);
  shiftOut(dataPin, clockPin, MSBFIRST, register2);
  shiftOut(dataPin, clockPin, MSBFIRST, register1);

  digitalWrite(latchPin, HIGH);
}

leshak пишет:

И да, обратите внимание, что вы вызываете

 registerWrite(536813567

Фиксированное число. Всегда одно и тоже. ByteSend - вы выставляете, но потом - только в монитор его отправляете.

Это я проверяла, ка к это число будет работать. Но из за того что тип переменных был int, пример не сработал.

Спасибо за развернутый ответ, многое прояснилось.

 

 

leshak
Offline
Зарегистрирован: 29.09.2011

SU-27-16 пишет:

leshak

> .....что переменные принято называть с маленькой буквы, то еще раз переименовать в dataToSend

извините, что влез с вопросом.... это наверное сишное соглашение, да ? ....а я-то все переменные луплю с большой :( , типа DataToSend :(

Ну как бы "да". И название функций. И методы классов. 
#define - ВСЕ_БОЛЬШИМИ_БУКВАМИ, 
классы - только первая большая.

Вообще-то, конечно, все эти "соглашения", это именно "соглашения". Можно следовать, можно нет. Работать будет одинаково. Но если ты в этом вопросе "как большинство", то и тебе легче читать чужой код, и тебя понимать легче будут.

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

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

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

спасибо !

отступы вложенного кода - в С++ - какие нормы действуют ? подскажите ?

мине легче читать когда даже операторные скобки с новой строки и со сдвигом на 2 знакоместа..... но большинство здесь делает по другому.... КАК - не отследил ещё логику, некогда.... мине удобнее так :

  for ( int i = 0; i < 16; i++ )

    {

      if ( ....... )

        {

           васяПоложиШарик( этаЛунка );

        }

    }

 

ступенчатая структура.... читать легчеееее ( моей ) :) ...почему открывающую операторную скобку БОЛЬШИНСТВО оставляет в строке начала блока ? экономия строк ?

спасибо :) ( моя уже и функцию правильно обозвал :)

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

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

...там - это где ? кто хранитель соглашений ( где почитать ) ?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

SU-27-16 пишет:

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

...там - это где ? кто хранитель соглашений ( где почитать ) ?


Памятник Ленину видел? Вот он как раз показывает рукой где это ТАМ..

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

повторюсь - у миня дедушка Вова - только бюстик 1:2 :( - без ручек, ножек и тулобища :(

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

странно.... моя думал - хоть в ваших странах его нету..... 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

SU-27-16 пишет:

странно.... моя думал - хоть в ваших странах его нету..... 


У нас еще есть памятник Тарасу Шевченко :)

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

на МСК площади СПб он указывает на КНИЖНЫЙ МАГАЗИН ! воооооооооо !

НО !!!!! с той точки Вова видется ПИСАЮЩИМ мальчиком.... причём - не хилым фонтаном....

leshak
Offline
Зарегистрирован: 29.09.2011

SU-27-16 пишет:

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

...там - это где ? кто хранитель соглашений ( где почитать ) ?

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

По поводу "сколько отступать скобочками...". Ну нет тут "единого мнения". Тут уже скорее в каждом сообществе/фирме свои "соглашения". Кто-то даже автоматические проверялки ставит. IDE посерьезней - тоже могут предупреждения кидать...
Вообщем оступать два пробела или один, или табом.... это уже как "дресс код". Где-то одна "рабочая форма" требуется, где-то другая. На каких-то фирмах строго следять за этим, на каких-то "плевать, лишь бы хоть какие-то были" (я тоже к ним отношусь), какие-то OpenSource проекты, могут вообще не принимать коммиты, пока их "идеально не оформишь".
Вообщем тут тоже, перебарщивать в "перфекционизм" imho не стоит. Главное что-бы читать легче было.
Если, по отступам,не можете принять "правильное решение", ну нажмите в ArduinoIDE ctrl-t. Она сама вам отформатит. Тут уж никто к вам "не придерется" :). Но я предпочитаю руками. В зависимости от "смысла кода". Вообщем отступы, это просто сделать его более "выпуклым". Мысль подчеркнуть, что к чему относится.

P.S. Я тоже, когда с Паскаля переходил, тоже бесился на эти скобочки, которые "фиг разглядишь". Вот насколько же виднее BEGIN END визуально.
P.S. А вообщем-то это все дело "привычки". Я вот постоянно пишу на C#. Там методы и проперти объекта - с большой. Тут - с маленькой. Ничего, как-то уже мозг приспособился "переключатся". Правда когда еще TypeScript добавился, иногда путаюсь "тип указывать после переменной или до" :( Но минут через 5-ть, все встает на свои места :)

 

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

Puhlyaviy пишет:
SU-27-16 пишет:

странно.... моя думал - хоть в ваших странах его нету..... 

У нас еще есть памятник Тарасу Шевченко :)

Григорьевичу моя не против... классика....

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

SU-27-16 пишет:

Puhlyaviy пишет:
SU-27-16 пишет:

странно.... моя думал - хоть в ваших странах его нету..... 

У нас еще есть памятник Тарасу Шевченко :)

Григорьевичу моя не против... классика....


И памятник Винипуху есть. Дисней замутил на родине Винипуха. Забавный кстати. Дерево на нем медвед с горшком меда.

Многие то не в курсе что Винипух был обычным медведем с обычного канадского леса :)

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

А можно просто - смотреть чужой код. Примеры, библиотеки....

....этим и кормлюсь

сделать его более "выпуклым"

...ступенчатым ( визуально ) - моя не спорит

....не буду так делать ! НО - можно ли приручить IDE к пониманию BEGIN-END , если пишешь только для сибя ? 

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

Puhlyaviy пишет:
SU-27-16 пишет:

Puhlyaviy пишет:
SU-27-16 пишет:

странно.... моя думал - хоть в ваших странах его нету..... 

У нас еще есть памятник Тарасу Шевченко :)

Григорьевичу моя не против... классика....

И памятник Винипуху есть. Дисней замутил на родине Винипуха. Забавный кстати. Дерево на нем медвед с горшком меда. Многие то не в курсе что Винипух был обычным медведем с обычного канадского леса :)

Винни-Пух из Винни-Пега :) ? защитник бчёл чёли ?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

SU-27-16 пишет:

Puhlyaviy пишет:
SU-27-16 пишет:

Puhlyaviy пишет:
SU-27-16 пишет:

странно.... моя думал - хоть в ваших странах его нету..... 

У нас еще есть памятник Тарасу Шевченко :)

Григорьевичу моя не против... классика....

И памятник Винипуху есть. Дисней замутил на родине Винипуха. Забавный кстати. Дерево на нем медвед с горшком меда. Многие то не в курсе что Винипух был обычным медведем с обычного канадского леса :)

Винни-Пух из Винни-Пега :) ? защитник бчёл чёли ?


Не Винипух не из Винипега. Он с маааааленькая деревни Вайт Ривер. На севере онтарио.

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

Puhlyaviy & leshak

вопрос не в тему... где грань между программным устранением дребезга контактов и аппаратным.... рожаю схему драйвера на 4 кнопки, к555тр2 и к555лн1, и 4 резистора на 10 kOm..... если не миниатюзируем устройство - что лучше ? применить платку 20 х 48 или программно бороцца ? спасибо :)

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

Буратина - итальянец ! Джанни Родари, стаканчик вина, кусочек сыра.... Маша - 5 !

Буратина - русский ! Лев Толстой, стаканчик воды, кусочек хлеба.... Коля - 4 !

и тут Вовочка

Буратина - таджик ! .....взял папа Карло чюрку........

 

вот обоснуйте - что Пух с Белой Реки....

......Карлсон - одномоторный дедушка квадрокоптеров ? 

.....Красная Шапка  - тоже из Онтарио ? 

.....Заец и Волк ? и не предполагаю уж.....

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Чего обосновывать то?
Ехали солдаты с Винипега на первую мировую. Подобрали медвежонка в белой речке. Привезли в Лондон, сдали в зоопарк. Дальше как обычно.

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

кататак.... учусь....

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

Puhlyaviy пишет:
Чего обосновывать то? Ехали солдаты с Винипега на первую мировую. Подобрали медвежонка в белой речке. Привезли в Лондон, сдали в зоопарк. Дальше как обычно.

пойду в сети посмотрю.... 

Хряк-Пятак... тоже виннипеговец ? не довезли бы они его до зоопарка - сожрали бы...

поросёнок Фунтик - тоже ваш ?

воооооооооо, кстати - чё ПОРОСЁНОК ( он же фунт двигателей стирлинга ) просел-то так ? чёта мине тревожна.....

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

Puhlyaviy пишет:
Чего обосновывать то? Ехали солдаты с Винипега на первую мировую. Подобрали медвежонка в белой речке. Привезли в Лондон, сдали в зоопарк. Дальше как обычно.

дети в СССР и РФ ( и др. стран ) как-то по другому думают :( , - не было бы им это душевной травмой......

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

пойду за пЫвом.... вроятность купить и попкорн - велика.... НО Россия - великая страна - хватит и полосатиков :)

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

SU-27-16 пишет:

пойду за пЫвом.... вроятность купить и попкорн - велика.... НО Россия - великая страна - хватит и полосатиков :)


Угу и устриц не забудь. Говорят в этом году в Белоруссии афигенные устрицы уродились.

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

честно говоря - преувеличили.... рынок создают просто... с тех пор как 6-ой флот США подошёл к берегам Белоруссии - белорусско-канадские жуки ( помесь ) погрызли днища кораблей и судов этого флота.... в неразберихе погибли и прибывшие с 6-ым флотом, и местные устрицы.... :(   зато кортопли - ДО...ЕРА ! пора переходить на чипсы вам, или ваша экономика выстояла ? попкорновая ?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

У нас своей картопли как грязи. половина картопли что потребляет макдональдс, растет и пеперабатывается с в радиусе пары сотен километров от моей деревни

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

Puhlyaviy пишет:
У нас своей картопли как грязи. половина картопли что потребляет макдональдс, растет и пеперабатывается с в радиусе пары сотен километров от моей деревни

....остальная масса - куды ?

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

ну вы и сказанули-оформили задачку.... про "...половина картопли что потребляет макдональдс..."

типа того - "отец того, кто на портрете - сын моего отца" - на портрете-то - КТО ?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

SU-27-16 пишет:

Puhlyaviy пишет:
У нас своей картопли как грязи. половина картопли что потребляет макдональдс, растет и пеперабатывается с в радиусе пары сотен километров от моей деревни

....остальная масса - куды ?


Не куда, а откуда.

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

Puhlyaviy пишет:
У нас своей картопли как грязи. половина картопли что потребляет макдональдс, растет и пеперабатывается с в радиусе пары сотен километров от моей деревни

местные за заявление "километер" - не бъют ? там разве не "мили" ? или вы уже "местный" и внедряете метрическую систему ?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

SU-27-16 пишет:

Puhlyaviy пишет:
У нас своей картопли как грязи. половина картопли что потребляет макдональдс, растет и пеперабатывается с в радиусе пары сотен километров от моей деревни

местные за заявление "километер" - не бъют ? там разве не "мили" ? или вы уже "местный" и внедряете метрическую систему ?


Странно но местные измеряют в километрах.

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

Puhlyaviy пишет:
SU-27-16 пишет:

Puhlyaviy пишет:
У нас своей картопли как грязи. половина картопли что потребляет макдональдс, растет и пеперабатывается с в радиусе пары сотен километров от моей деревни

....остальная масса - куды ?

Не куда, а откуда.

не морочьте мине сидалищный мозг ! 

если в деревне +200 т кортопля - это куды деть !

если в деревне -2 т кортопля - это откедова взять !

....вот так и путаюцца мозги...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Мозги начнут путаться когда посмотришь цифры.
Недалеко от деревни небольшой мясокомбинат, вот реально небольшой, его пешком можно обойти примерно минут за 5. На нем работает 1300 человек. За сутки они уколбашивают 6500 свиней. Представь обьемы выращивания.

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

Puhlyaviy пишет:
SU-27-16 пишет:

Puhlyaviy пишет:
У нас своей картопли как грязи. половина картопли что потребляет макдональдс, растет и пеперабатывается с в радиусе пары сотен километров от моей деревни

местные за заявление "километер" - не бъют ? там разве не "мили" ? или вы уже "местный" и внедряете метрическую систему ?

Странно но местные измеряют в километрах.

пока Путин и Медведев думают над вычислением вашего местоположения.... точного....

и только после этого оне вам укажут-посоветают в чём измерять линейные, площадные, объёмные и другие параметры тел в любом представлении МИРА.... имеюцца рекомендации для МИРА-1D , 2D , 3D , 4D и т.д.

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

Puhlyaviy пишет:
Мозги начнут путаться когда посмотришь цифры. Недалеко от деревни небольшой мясокомбинат, вот реально небольшой, его пешком можно обойти примерно минут за 5. На нем работает 1300 человек. За сутки они уколбашивают 6500 свиней. Представь обьемы выращивания.

оно мине нано ?

из 1300 челов - скока там девчёночеков работает ?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Не знаю. Как то не интересовался. Не прет меня от филипинок.

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

Puhlyaviy пишет:
Мозги начнут путаться когда посмотришь цифры. Недалеко от деревни небольшой мясокомбинат, вот реально небольшой, его пешком можно обойти примерно минут за 5. На нем работает 1300 человек. За сутки они уколбашивают 6500 свиней. Представь обьемы выращивания.

> Представь обьемы выращивания......

.....представлять не буду... моя для интереса подсчитал и о......ел.....

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

Puhlyaviy пишет:
Не знаю. Как то не интересовался. Не прет меня от филипинок.

мог бы и сразу сказать...  :(

....как же ты там живёшь - без окучивания ? женитьба ? дык, ... пардон..... молчу....

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Вот вот и афигел.