1245 0 24 августа, 2012 Опубликовано 24 августа, 2012 · Жалоба Есть два простых куска кода первый работает, второй нет. Из-за чего это может быть? STM32. первый if(flag) { x++; if(x==50||x==100||x==150) k++; if(k==1 || k==2 || k==3) flag=0; } второй if(flag) { x++; if(x==50||x==100||x==150) flag=0; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cioma 0 24 августа, 2012 Опубликовано 24 августа, 2012 · Жалоба Что означает "не работает"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Edit2007 3 27 августа, 2012 Опубликовано 27 августа, 2012 · Жалоба В первом случае flag сбрасывается первые три раза (при k==1 или 2 или 3), при остальных значениях (0,4,5 и т.д) остается неизменной. Во втором случае flag сбрасывается всегда, независимо от переменной k. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 27 августа, 2012 Опубликовано 27 августа, 2012 · Жалоба Во втором случае flag сбрасывается всегда, независимо от переменной k. Начнем с того, что во втором случаи приведенного кода переменной k нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexeyv 0 29 августа, 2012 Опубликовано 29 августа, 2012 (изменено) · Жалоба 1. Какова разрядность переменных x и k ? И вообще их определение 2. Как часто вызывается код? 3. Где flag устанавливается и как часто? Изменено 29 августа, 2012 пользователем alexeyv Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться