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

битва с дураками проиграна, победители торжествуют. слава победителям!
- Volgol_555
- Потрогал лапой паяльник
- Сообщения: 301
- Зарегистрирован: Пт сен 23, 2011 13:13:51
- Откуда: Минск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Я гиперболизм милейший использовал. Если вам так угодно) Мастер сильно сказано - но не так просто в микроконтроллер запихать 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 в вопросах и ответах
Со схемотехникой я уже почти все решил. Остались мелочи касательно программирования. С учетом того, что я простые вещи пишу очень сложно приходиться спрашивать у других "глупости" типа последней, чтобы уменьшить программу и сделать ее быстрее! Не умею мыслить просто(. А от сложностей спасения нету)
Самое гениальное - всегда самое простое
- Реклама
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Volgol_555 писал(а):Не умею мыслить просто(. А от сложностей спасения нету)
спасение есть - учиться мыслить
битва с дураками проиграна, победители торжествуют. слава победителям!
-
John-RADIST
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Re: CodeVision AVR в вопросах и ответах
Доброго времени суток! Мой вопрос так и остался без внимания. Повторюсь еще раз. Если подскажите буду очень признателен!
Фрагмент исходника:
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").
Спасибо!!!
Фрагмент исходника:
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 в вопросах и ответах
Простой программист никогда не будет из чужих исходников лепить нечто. Проще, дешевле, быстрее написать свое. Ваши копипасты не остались без внимания, от них (у меня) осталось чувство брезгливости. Может быть я и не прав... Кто-нибудь напишет вам из того, что вы представили.
Docendo discimus
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Volgol_555 писал(а):Проблема в том, что я мастер решать сложные задачи, а не простые(( тем более что я в Си ещё новичок, привык к Pascal и к Basic там функций простых валом. А здесь как-то приходится изощряться что ли....
Во всяком случае спасибо)
так сделайте библиотеку с функциями,к которым так привыкли и работайте не отвлекаясь на мелочь.
Мастер% делать ошибки в грамматике
Последний раз редактировалось vitalik_1984 Вт янв 24, 2012 19:17:20, всего редактировалось 1 раз.
В поисках истины человек развивается.
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
не согласен в принципе. очевидно, вы и libc не используете - ее ведь тоже другие программисты написали, все время изобретаете велосипед?pyzhman писал(а):Простой программист никогда не будет из чужих исходников лепить нечто. Проще, дешевле, быстрее написать свое.
Мастера учить - только время терятьvitalik_1984 писал(а):<b>Мастер%</b> делать ошибки в грамматике всем нос утерли,а сами,простите, в соплях. <b>засчитано </b>пишется,если интересно.
битва с дураками проиграна, победители торжествуют. слава победителям!
Re: CodeVision AVR в вопросах и ответах
Как преобразовать переменную типа float в тип char?
Например, есть число 3,2 в float. из него я хочу получить 32 в char.
Например, есть число 3,2 в float. из него я хочу получить 32 в char.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
-
John-RADIST
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Re: CodeVision AVR в вопросах и ответах
pyzhman писал(а):Простой программист никогда не будет из чужих исходников лепить нечто. Проще, дешевле, быстрее написать свое. Ваши копипасты не остались без внимания, от них (у меня) осталось чувство брезгливости. Может быть я и не прав... Кто-нибудь напишет вам из того, что вы представили.
Обращаюсь к "pyzhman"... Вообще-то это не чужие исходники а мои, это во первых... Во вторых, чувство брезгливости говоришь, да просто такие как ты, думают что они самые умные, сидят на форумах не для того, чтобы, обмениваться опытом, поделиться советом, ну и так далее, нет, они сидят здесь, чтобы утешать свое, крошечное собственное самолюбие тем, что показывают самому себе, какие мы умные, и вместо того что подсказать тем кто просит совета, критикуют, "брезгуют", посмеиваются между собой, но это только так слова, не имеющие под собой ничего. Просто ты видимо "очень добрый, умный и отзывчивый" человек или все же КОТ - программист с "большой буквы"?????

- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
John-RADIST писал(а):Это фрагменты 2-х исходников. Подскажите как подредактировать текст программы, чтобы выбирая один из case-ов, второй строчкой на LCD выводились один из ("Punkt").
Спасибо!!!
Вообще то не очень понятно что вы имели под этим ввиду.
Скажите по русски а не свичами своими.Будьте проще и люди к вам потянутся.
Вы снимаете показания,преобразовываете это понятно
дальше нужно вывести на экран, это тоже понятно.
А вот что значит при нажатии что там делать второй строкой?
для перехода на вторую строку пишем /n это перенос а так советую почитать про эту функцию (принтф) подробнее.
Сформулируйте идею вашего устройства.Попробуйте сложить алгоритм, может тогда сами переставите по своим коментариям.
Подумайте в каких переменных данные будут храниться.
Все у вас получится:)
В поисках истины человек развивается.
-
John-RADIST
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Re: CodeVision AVR в вопросах и ответах
Согласен. В общем смысл такой. Инфармация выводится на 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 в вопросах и ответах
Спасибо за ответ. Я поробую сначала разобраться сам.
Если не получится тогда обращусь за помощью....
Заранее Спасибо!!!!
Если не получится тогда обращусь за помощью....
Заранее Спасибо!!!!
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
John-RADIST писал(а):это не чужие исходники а мои
По предыдущим постам понял так, что это сдернуто у кого-то откуда-то. Не знал, приношу извинения, надеюсь они будут приняты -
pyzhman писал(а):Может быть я и не прав...
Мастер Ломастер писал(а):не согласен в принципе.
Речь шла об исходниках, предоставленных John-RADIST.
Мастер Ломастер писал(а):как-то так:
Согласитесь, что свое все-таки пишется проще, нежели разбирается чье-то.
Docendo discimus
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
pyzhman писал(а):Согласитесь, что свое все-таки пишется проще, нежели разбирается чье-то.
смотря что
битва с дураками проиграна, победители торжествуют. слава победителям!
-
John-RADIST
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Re: CodeVision AVR в вопросах и ответах
pyzhman писал(а):По предыдущим постам понял так, что это сдернуто у кого-то откуда-то. Не знал, приношу извинения, надеюсь они будут приняты -
Извинения приняты!!! Даже если они и были сдернуты и кого-то, считаю, что это не повод, таких высказываний. Все когда-то с чего-то начинали и в данном случае подобное неуместно. Если ты грамотен в знании языка програмирования, то подсказать кому-то для тебя это должен быть большой плюс, а не выяснять где взял, зачем и для чего!!!

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


