короче я понял в чем трабла студии! Вернее не трабла, а особенность странная. То есть код продолжает выполняться после цикла сразу же после первого прохода этого цикла. Впервые встречаю такое. странная штука вощм
короче я понял в чем трабла студии! Вернее не трабла, а особенность странная. То есть код продолжает выполняться после цикла сразу же после первого прохода этого цикла. Впервые встречаю такое. странная штука вощм
Всем здрасть! кто подскажет в чем дело?? если обнуляю первый элемент массива, который является ключом для обработтки принятых... Читать далее
Это плохо что нельзя через мощную программу удалить полностью системную программу Хакеры могут так? Удалить полностью системную... Читать далее
Всем привет. Хюндай соната nf 2.0 L Эбу Прошит под евро2 Стоит гбо расход сотавлял до 13 л.на 100. Интенсивной езды. Но в... Читать далее
Новый день , новые подходы . Всем привет . Значит так . Врезал манометр ДО фильтра по низкой . Шланг тот же , манометр правда... Читать далее
ну алгортм работы устройства то четко ясен, я просто не сталкивался с передачей пакетов данных до этого на таком уровне.... Читать далее
Господа всем привет. Пришёл iPhone 7 a1660 без прошивки модема: Кз по обоим трансам, заменил оба, ушло. Не помогло. Заменил... Читать далее
Комментарии: 152
Dmitriy
Есть циклы с пред условием и пост условием....
Dinar
не не не об этом речь
Anonim
А не хотелось ли бы тебе оформить твое чтение байт в функцию, не блокирующую?
Andrey
Это только по прерыванию
Dinar
есть условие что флаг ==1. Если флаг 1 то выполняем цикл три раза. Выходим из цикла, обнуляем флаг, и выходим из условия. Но как оказалось, флаг обнуляется уже полсе первого прохода цикла, и в условие мы уже не попадаем. и 2 и 3 круг цикл не проходит
Andrey
Так это вы так написали и обнуляете
Dmitriy
Вот теперь подумайте где и как выполняем 3 раза для начала ... А ещё можно этот алгоритм углубить ..
Andrey
Давайте этот код с флагом
Dinar
слушай ну я не первый год в программировании, что ты мне рассказываешь? зайди в java к примеру, с++. Там пока цикл не пройдет нужное количество раз, после цикла строчка не выполнится. а в C выполняется надо же вот я пришел к выводу, что флаги надо ставить везде
Andrey
Давайте код
Dinar
для меня неожиданность
Andrey
Какие флаги
Dinar
я уже стер давно все эти коды
Andrey
Циклы бывают разные Выйти из них можно даже если это фор до 5
Dinar
циклы какие бы они не были, они не должны дать выполниться коду вне цикла ниже по листингку. пока цикл не выполнится n-ное число раз
Andrey
Если вы не выходите принудительно из цикла или не меняете Счетчик
Dinar
нет конечно
Andrey
Тогда он пройдёт именно н раз Как и задумано
Dmitriy
Я более уверен, что компилятор наоптимизировал, поэтому нужен был брэйк
Andrey
Этот вариант тоже возможен Скорее всего он коряво развернул цикл
Dmitriy
Именно .. не нужно самому трогать переменные касательно управления циклом... Для этого есть брэйк, континьюэ и тд
Andrey
Ну все верно Так везде можно
Dinar
что там верно? цикл не отработал и уже выполнился код после него
Andrey
Логика работы кода
Dinar
никогда такого не встречал
Andrey
Везде Вы манипулируете счетчиков Для адресации массива должен быть j Параллельный I должен остаться счетчиком Тоже самое будет в плюсах Попробуйте
Anonim
Все тоже самое в ардуино иде было бы, лол
Dinar
да это бред
Dinar
никогда такого не делал ну нет же
Andrey
Так чьи это проблемы ?
Dmitriy
Гы )))...
Andrey
Ваш код выполняется именно так как вы это написали
Dinar
я не вижу проблем ваще.
Anonim
Да
Anonim
Прикинь, из под ардуино иде можно весь твой код запустить и будет тоже самое. и регистры ардуина тоже умеет дергать, прикинь
Dinar
если я нарою проект, то скину, там циклов куча была, и ничего не происходила после цикла, пока цикл не отработает заданное количество раз. Я там шаговики крутил. ничего нового не придумывал. То есть код после цикла (количества шагов) не выполнялся. но это на c++ а не на c
Anonim
на HSPI висит. На HW работает на 4МГц, на SW 100кГц
Andrey
Там вы не меняли Счетчик Вы не понимаете проблему данного кода ?
Anonim
for(i=0;i>0;i+=1) { i-=1;//бесконечный цикл }
Andrey
Компилятор разворачивает цикл и манипулирует счетчиком который вы указали как и
Dmitriy
Здесь компилятор ужаснулся )))
Dmitriy
Для норм выходов есть break
Dinar
мне не надо выходить из цикла как раз таки
Dmitriy
После 3х?
Dinar
да там код блокировался
Anonim
Функция1: складывает байты в глобальный массив, когда ее вызывают и то если что-то пришло. Функция2: получает строку байт, из глобального массива адекватно сформированную. Маин-код: вызывает ф1 и если строка сформирована - вызывает ф2 и делает что-то с этими данными. Если строка не сформирована - ничего не делать.
Andrey
Как и в спп и ява
Dinar
Смотри! я обнуляю нулевой элемент массива, и цикл внутри условия уже не выполняется 2-й и 3-й раз. потому что уже условие recieve[0] == 'p' не выполняется. впервые такое встречаю
Andrey
+ Сишный код будет везде одинаково выполнятся Не зависимо от среды и тулчейна