Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Вопрос к знатокам С, не работает конструкция if(0!=0)
Отправлено
Sanches
29 октября 2007 г. 15:31
Почему-то неправильно работает сл. код при
i_end_cmd=0;
//
for(i=i_beg_cmd;i!=i_end_cmd;i++)
{
i&=MAX_LEN_CMD;
...
}
компилятор IAR for ARM 4.30
Составить ответ
|
Вернуться на конференцию
Ответы
Ответ: Всем спасибо, "ни разу не знаток" правильно подсказал
—
Sanches
(29.10.2007 17:04:28
85.172.29.62
, 32 байт,
ссылка
)
Потому что i++
—
ни разу не знаток
(29.10.2007 16:28:6
84.47.191.243
, 76 байт)
Ошибка в i&=MAX_LEN_CMD
—
MikeR
(29.10.2007 16:11:44
80.79.176.41
, 142 байт)
Ответ:Да, i&=(MAX_LEN_CMD-1) конешно. MAX_LEN_CMD степень двойки.
—
Sanches
(29.10.2007 16:19:12
85.172.28.102
,
пустое
)
В цикле используй другую переменную
—
MikeR
(29.10.2007 16:50:10
80.79.176.41
, 382 байт)
брать остаток от деления слишком ресурсоёмко
—
koyodza
(29.10.2007 17:03:22
195.214.197.203
,
пустое
)
Остаток можно взять: for( ; i>MAX_LEN_CMD; i-=MAX_LEN_CMD) ;
—
MikeR
(29.10.2007 20:11:44
213.242.24.189
,
пустое
)
Попробуй MAX_LEN_CMD=1, код будет работать. При другом значении - зациклится
—
MikeR
(29.10.2007 16:16:57
80.79.176.41
,
пустое
)
Ответ:Подробнее по теме ..
—
Sanches
(29.10.2007 16:04:52
85.172.28.193
, 403 байт)
ну и что этот цикл делает? зачем он тут?
—
ы
(29.10.2007 16:10:50
80.92.98.211
,
пустое
)
Ответ: Цикл копирует принятую команду и заодно проверяет превышение max длины
—
Sanches
(29.10.2007 16:28:58
85.172.29.95
, 170 байт)
i никогда не будет 0 при проверке условия
—
ни разу не знаток
(29.10.2007 16:32:59
84.47.191.243
,
пустое
)
Ответ: Почему-же (0x1F+1) & 0x1F ИМХО будет как раз 0x00
—
Sanches
(29.10.2007 16:40:34
85.172.29.189
,
пустое
)
до проверки еще i++ будет
—
ни разу не знаток
(29.10.2007 16:43:2
84.47.191.243
,
пустое
)
Ответ: А что вы хотели написать?
—
Artem-1.6E-19
(29.10.2007 15:56:57
92.113.31.226
,
пустое
)
Дык, кто же тут ставит " !=" ??? "<" надо ставить.
—
POV
(29.10.2007 15:56:22
213.137.239.62
,
пустое
)
Вчемнеправильность? (пробелы - они нужны :))
—
Каа
(29.10.2007 15:36:25
213.132.80.164
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 97:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru