реклама на сайте
подробности

 
 
> Компилятор ICC AVR, Помогите разобраться
lolful
сообщение Sep 16 2008, 05:56
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 27-11-07
Из: Пермь
Пользователь №: 32 732



Логка программы. В определенном месте кода ждать пока функция не вернет "1".
Пишу:
Код
while(!URXFind_("OK", 2));
И что же происходит? Функция возвращает "1" в тот момент, когда не должна. Сейчас поясню.
Далее исправляю эту сточку на:
Код
while(!(temp = URXFind_("OK", 2)));
...и все начинает работать так, как надо. Когда надо функция возвращает "1", когда надо - "0". Что это за подводный камень? Ума не приложу как такое имеет место быть...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
lolful
сообщение Sep 16 2008, 07:46
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 27-11-07
Из: Пермь
Пользователь №: 32 732



Бррр...Я перепутал местами ассемблерный код, когда писал 2й пост...

Вобщем вот к чему я пришел. Если написать
Код
while(!(unsigned char)(URXFind_("OK\r\n", 2, &temp)));
...то все работает. Видать компилятор думает, что функция возвратит не unsigned char, а нечто вроде int и лезет в регистр, который занят чем-то. Таким образом в обоих регистрах почти 100% вероятность того, что там будет не 0. Ошибка банальна - я не прописал прототип в заголовочном файле. Дурак. twak.gif
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 16 2008, 07:50
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(lolful @ Sep 16 2008, 13:46) *
Бррр...Я перепутал местами ассемблерный код, когда писал 2й пост...
....
вероятность того, что там будет не 0. Ошибка банальна - я не прописал прототип в заголовочном

Бывает. smile.gif

Цитата
Дурак. twak.gif

эт-лишнее.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016