CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Volgol_555
Потрогал лапой паяльник
Сообщения: 301
Зарегистрирован: Пт сен 23, 2011 13:13:51
Откуда: Минск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Volgol_555 »

Проблема в том, что я мастер решать сложные задачи, а не простые(( тем более что я в Си ещё новичок, привык к Pascal и к Basic там функций простых валом. А здесь как-то приходится изощряться что ли....
Во всяком случае спасибо)
Самое гениальное - всегда самое простое
Реклама
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Мастер Ломастер »

Volgol_555 писал(а):Проблема в том, что я мастер решать сложные задачи, а не простые
любопытно было бы узнать хотя бы некоторые из решенных вами сложных задач... а то что-то в глубине души шевелится червячок сомнения: не зная правил математики арифметки мастерски решать сложные задачи...
:facepalm:
битва с дураками проиграна, победители торжествуют. слава победителям!
Реклама
Аватара пользователя
Volgol_555
Потрогал лапой паяльник
Сообщения: 301
Зарегистрирован: Пт сен 23, 2011 13:13:51
Откуда: Минск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Volgol_555 »

Я гиперболизм милейший использовал. Если вам так угодно) Мастер сильно сказано - но не так просто в микроконтроллер запихать 2 датчика температуры, на них основываясь сделать датчик влажности, LCD, USART, панель управления,и панель состоящую из реле для включения оборудования. Сделать между ними всеми взаимодействие и так чтобы ничего друг другу не мешало. Помимо этого оставить место под будущую реализацию ещё нескольких датчиков, сделать резервное питание...в общем это не все... и запихать все в Atmega8, которая бедная едва переваривает массивы данных
Самое гениальное - всегда самое простое
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Мастер Ломастер »

Volgol_555 писал(а):не так просто в микроконтроллер запихать 2 датчика температуры, на них основываясь сделать датчик влажности, LCD, USART, панель управления,и панель состоящую из реле для включения оборудования. Сделать между ними всеми взаимодействие и так чтобы ничего друг другу не мешало. Помимо этого оставить место под будущую реализацию ещё нескольких датчиков, сделать резервное питание...в общем это не все... и запихать все в Atmega8, которая бедная едва переваривает массивы данных

с учетом схемотехники и трассировки печатной платы - это действительно, не самая простая комплексная задача. но в плане программирования - не такая уж и сложная.

защитано :)
битва с дураками проиграна, победители торжествуют. слава победителям!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Volgol_555
Потрогал лапой паяльник
Сообщения: 301
Зарегистрирован: Пт сен 23, 2011 13:13:51
Откуда: Минск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Volgol_555 »

Со схемотехникой я уже почти все решил. Остались мелочи касательно программирования. С учетом того, что я простые вещи пишу очень сложно приходиться спрашивать у других "глупости" типа последней, чтобы уменьшить программу и сделать ее быстрее! Не умею мыслить просто(. А от сложностей спасения нету)
Самое гениальное - всегда самое простое
Реклама
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Мастер Ломастер »

Volgol_555 писал(а):Не умею мыслить просто(. А от сложностей спасения нету)

спасение есть - учиться мыслить
битва с дураками проиграна, победители торжествуют. слава победителям!
Реклама
John-RADIST
Открыл глаза
Сообщения: 44
Зарегистрирован: Чт дек 15, 2011 19:04:24

Re: CodeVision AVR в вопросах и ответах

Сообщение John-RADIST »

Доброго времени суток! Мой вопрос так и остался без внимания. Повторюсь еще раз. Если подскажите буду очень признателен!
Фрагмент исходника:
interrupt [ADC_INT] void adc_isr(void){
result=ADCW*5-ADCW/10; //умножаем чтобы получить мВ и немного учитываем погрешности
sprintf(lcd_buffer,"Vlazhnost=%4umV",result);// записываем в буфер вторые 2 параметра
lcd_clear(); // очищаем жки
lcd_puts(lcd_buffer); // теперь выводим в него
delay_us(100);
if (knoka1_pressed==0) ADCSRA=0b11011111;

Здесь все понятно...Дальше другой фрагмент исходника со свичем:
while (1)
{
if(knoka1_pressed)
{
knoka1_pressed= 0;

switch(punkt_menu)
{
case 1:
lcd_gotoxy(1,0);
lcd_putsf("Punkt1");//печатаем
ADCSRA=0b11011111;

break;
case 2:
lcd_gotoxy(1,0);
lcd_putsf("Punkt2");//печатаем

break;
case 3:
lcd_gotoxy(1,0);
lcd_putsf("Punkt3");//печатаем

break;
default:
// punkt_menu= 1;
break;
}
}
Это фрагменты 2-х исходников. Подскажите как подредактировать текст программы, чтобы выбирая один из case-ов, второй строчкой на LCD выводились один из ("Punkt").

Спасибо!!!
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение pyzhman »

Простой программист никогда не будет из чужих исходников лепить нечто. Проще, дешевле, быстрее написать свое. Ваши копипасты не остались без внимания, от них (у меня) осталось чувство брезгливости. Может быть я и не прав... Кто-нибудь напишет вам из того, что вы представили.
Docendo discimus
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение vitalik_1984 »

Volgol_555 писал(а):Проблема в том, что я мастер решать сложные задачи, а не простые(( тем более что я в Си ещё новичок, привык к Pascal и к Basic там функций простых валом. А здесь как-то приходится изощряться что ли....
Во всяком случае спасибо)

так сделайте библиотеку с функциями,к которым так привыкли и работайте не отвлекаясь на мелочь.

Мастер% делать ошибки в грамматике :-) всем нос утерли,а сами,простите, в соплях. засчитано пишется,если интересно.
Последний раз редактировалось vitalik_1984 Вт янв 24, 2012 19:17:20, всего редактировалось 1 раз.
В поисках истины человек развивается.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Мастер Ломастер »

pyzhman писал(а):Простой программист никогда не будет из чужих исходников лепить нечто. Проще, дешевле, быстрее написать свое.
не согласен в принципе. очевидно, вы и libc не используете - ее ведь тоже другие программисты написали, все время изобретаете велосипед?

vitalik_1984 писал(а):<b>Мастер%</b> делать ошибки в грамматике всем нос утерли,а сами,простите, в соплях. <b>засчитано </b>пишется,если интересно.
Мастера учить - только время терять :))) пеши исчо! :)))
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: CodeVision AVR в вопросах и ответах

Сообщение *Trigger* »

Как преобразовать переменную типа float в тип char?
Например, есть число 3,2 в float. из него я хочу получить 32 в char.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
John-RADIST
Открыл глаза
Сообщения: 44
Зарегистрирован: Чт дек 15, 2011 19:04:24

Re: CodeVision AVR в вопросах и ответах

Сообщение John-RADIST »

pyzhman писал(а):Простой программист никогда не будет из чужих исходников лепить нечто. Проще, дешевле, быстрее написать свое. Ваши копипасты не остались без внимания, от них (у меня) осталось чувство брезгливости. Может быть я и не прав... Кто-нибудь напишет вам из того, что вы представили.


Обращаюсь к "pyzhman"... Вообще-то это не чужие исходники а мои, это во первых... Во вторых, чувство брезгливости говоришь, да просто такие как ты, думают что они самые умные, сидят на форумах не для того, чтобы, обмениваться опытом, поделиться советом, ну и так далее, нет, они сидят здесь, чтобы утешать свое, крошечное собственное самолюбие тем, что показывают самому себе, какие мы умные, и вместо того что подсказать тем кто просит совета, критикуют, "брезгуют", посмеиваются между собой, но это только так слова, не имеющие под собой ничего. Просто ты видимо "очень добрый, умный и отзывчивый" человек или все же КОТ - программист с "большой буквы"????? :dont_know: :dont_know: :dont_know: :dont_know: :dont_know: :dont_know: :dont_know: :dont_know: :dont_know:
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение vitalik_1984 »

John-RADIST писал(а):Это фрагменты 2-х исходников. Подскажите как подредактировать текст программы, чтобы выбирая один из case-ов, второй строчкой на LCD выводились один из ("Punkt").

Спасибо!!!

Вообще то не очень понятно что вы имели под этим ввиду.
Скажите по русски а не свичами своими.Будьте проще и люди к вам потянутся.

Вы снимаете показания,преобразовываете это понятно
дальше нужно вывести на экран, это тоже понятно.
А вот что значит при нажатии что там делать второй строкой?

для перехода на вторую строку пишем /n это перенос а так советую почитать про эту функцию (принтф) подробнее.

Сформулируйте идею вашего устройства.Попробуйте сложить алгоритм, может тогда сами переставите по своим коментариям.
Подумайте в каких переменных данные будут храниться.
Все у вас получится:)
В поисках истины человек развивается.
John-RADIST
Открыл глаза
Сообщения: 44
Зарегистрирован: Чт дек 15, 2011 19:04:24

Re: CodeVision AVR в вопросах и ответах

Сообщение John-RADIST »

Согласен. В общем смысл такой. Инфармация выводится на LCD WH1602, т.е. в первой строке LCD отображается измеренное значение. Во второй строке должно отображаться, ну скажем название среды в которой производится измерение. Т.о. наживая кнопку, я изменяю пределы измерения, и соответственно должно меняться название во втрой строке с каждым нажатием.Просто часть программы у меня уже написанна и более или менее отлажена. И собственно вопрос-то и заключается в этом.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Мастер Ломастер »

John-RADIST писал(а):Согласен. В общем смысл такой. Инфармация выводится на LCD WH1602, т.е. в первой строке LCD отображается измеренное значение. Во второй строке должно отображаться, ну скажем название среды в которой производится измерение. Т.о. наживая кнопку, я изменяю пределы измерения, и соответственно должно меняться название во втрой строке с каждым нажатием.Просто часть программы у меня уже написанна и более или менее отлажена. И собственно вопрос-то и заключается в этом.
как-то так:

Код: Выделить всё

#define TOTAL_ENV   4
char *environments[TOTAL_ENV] = {
   "вода", "воздух", "огонь", "земля"
};

unsigned char repeat = 1;
unsigned char current = 0;
int result;
while(repeat){

   set_measure_parameter(current);
   result = measure();
   output_to_lcd(result, environments[current]);

   switch(get_key_pressed()){
   case KEY_EXIT:
      repeat = 0;
      break;
   case KEY_NEXT:
      if(++current >= TOTAL_ENV) current = 0;
      break;
   case KEY_PREV:
      if(--current >= TOTAL_ENV) current = TOTAL_ENV-1;
      break;
   }
}

старался писать код так, чтобы все было понятно без комментариев - вам понятно?
битва с дураками проиграна, победители торжествуют. слава победителям!
John-RADIST
Открыл глаза
Сообщения: 44
Зарегистрирован: Чт дек 15, 2011 19:04:24

Re: CodeVision AVR в вопросах и ответах

Сообщение John-RADIST »

Спасибо за ответ. Я поробую сначала разобраться сам.
Если не получится тогда обращусь за помощью....

Заранее Спасибо!!!!
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение pyzhman »

John-RADIST писал(а):это не чужие исходники а мои

По предыдущим постам понял так, что это сдернуто у кого-то откуда-то. Не знал, приношу извинения, надеюсь они будут приняты -
pyzhman писал(а):Может быть я и не прав...


Мастер Ломастер писал(а):не согласен в принципе.

Речь шла об исходниках, предоставленных John-RADIST.
Мастер Ломастер писал(а):как-то так:

Согласитесь, что свое все-таки пишется проще, нежели разбирается чье-то. :)
Docendo discimus
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Мастер Ломастер »

pyzhman писал(а):Согласитесь, что свое все-таки пишется проще, нежели разбирается чье-то. :)

смотря что :) в целом я не спорю: ковыряться в чужом говне менее приятно, чем в своем. но, например, писать свою библиотечку для работы с LCD, если есть чья-то (примечание: качественно написанная и работающая) - увольте. другое дело, если "сторонняя библиотечка" написана тяп-ляп - тогда приходится писать самому...
битва с дураками проиграна, победители торжествуют. слава победителям!
John-RADIST
Открыл глаза
Сообщения: 44
Зарегистрирован: Чт дек 15, 2011 19:04:24

Re: CodeVision AVR в вопросах и ответах

Сообщение John-RADIST »

pyzhman писал(а):По предыдущим постам понял так, что это сдернуто у кого-то откуда-то. Не знал, приношу извинения, надеюсь они будут приняты -


Извинения приняты!!! Даже если они и были сдернуты и кого-то, считаю, что это не повод, таких высказываний. Все когда-то с чего-то начинали и в данном случае подобное неуместно. Если ты грамотен в знании языка програмирования, то подсказать кому-то для тебя это должен быть большой плюс, а не выяснять где взял, зачем и для чего!!! :beer: :beer: :beer:
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: CodeVision AVR в вопросах и ответах

Сообщение FreshMan »

можно ли с помощью данной проги прошить МК когда уже есть hex файл ?
Tell Me The Truth
Ответить

Вернуться в «AVR»