Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Помогите, разобраться с CodeVision


Автор: max_k 14.11.2006, 11:23
Здравствуйте,
я новичек в программировании микроконтролеров, поэтому сразу не ругайте если что не так.
Вообщем сейчас нахожусь на стадии выбора ПО между
WinAVR и CodeVision.
CodeVision нравиться больше, но
нормальной литературы так и не нашел,
в связи с чем вопрос, где бы у него в хелпе посмотреть кодовые слова
типа PINA,delay_ms, MCUCSR, UCSRA и т.п. , а то они разные во всех ПО.
Вопрос номер 2:
Пытаюсь опросить состояние порта А 3-ого бита,
Пишу так:

..........
 if (PINA.3==0) {snd_power_off;} // 
if (PINA.3==1) if (was_pwr_off==1) snd_power_on; //
......................
На каждую строку ругается Warning
 expression witn possibly no effect,
что насколько я понял переводится как 
написанно бессмысленное выражение.
Подскажите, плз, в чем ошибка.
Спасибо.     
 

Автор: smalcom 14.11.2006, 12:03
попробуй сначала без snd_power_off и иже с ним, тоесть чтото более осмысленное посмотри хедеры библиотеки как обявлены изменения битов и портов и наконец warning не error поэтому глянь асмлистинг и покажи шо сгенерил компилер

Автор: max_k 14.11.2006, 12:21
Спасибо,
действительно, если в IF поставить не вызов функции
а присваивание значения переменной то не ругается,
тогда как правильно вызывать из if процедуру
или может ее надо как-то по другому объявлять?
Объявляю так:
void snd_power_on(void)// 
{                       // 00088880011, 
  was_pwr_off=0;// false 
  Dial_dig(0);
  Dial_dig(0);
  Dial_dig(0);
  Dial_dig(8);
  Dial_dig(8);
  Dial_dig(8);
  Dial_dig(8);
  Dial_dig(0);
  Dial_dig(0);
  Dial_dig(1);
  Dial_dig(1);
}
Объявленна перед объявлением main

Автор: smalcom 14.11.2006, 13:08
функции вызываются snd_power_off(), а не snd_power_off
попробуй так

Код

if(PINA.3 == 0)
    snd_power_off();
if(PINA.3 == 1)
    if(was_pwr_off == 1) snd_power_on();//если was_pwr_off функция то пиши was_pwr_off()

P.S. случайно не с асма пересел на кодвижн?

Автор: max_k 14.11.2006, 14:42
Ура!!! 
0 Warning
Спасибо огромное.

Цитата

P.S. случайно не с асма пересел на кодвижн?


Я бы не сказал что с асма, на асме я учился программировать МК около 2-х месяцев,
а вообще я лет 10 как пишу ПО на Дельфях, не для МК конечно.

Автор: smalcom 14.11.2006, 15:22
ну тада клацаем мне на плюс в репе  smile 

Автор: max_k 14.11.2006, 15:29
Да я клацнул,
но не тут то было:
Цитата

Обнаружена ошибка:


У Вас недостаточно постов, чтобы изменять репутацию пользователей. Необходимо 100 постов.



Как наберу 100, тогда клацну.
Еще раз Спасибо. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)