Это Вы про CVAVR? Если да то, можно там есть встроенный прошивальщик.FreshMan писал(а): данной проги
CodeVision AVR в вопросах и ответах
- sachok
- Опытный кот
- Сообщения: 849
- Зарегистрирован: Сб янв 05, 2008 11:05:15
- Откуда: Україна м.Луцьк
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Я не Сашок!!!
- Реклама
Re: CodeVision AVR в вопросах и ответах
да про нее
дело в том что я сам делал проэкт, компилил и прошивал МК...................., а тут у меня есть уже готовый hex. вот только как прошить МК в данном случае ненаю
дело в том что я сам делал проэкт, компилил и прошивал МК...................., а тут у меня есть уже готовый hex. вот только как прошить МК в данном случае ненаю
Tell Me The Truth
-
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 %s\n",result,stroka);
lcd_clear(); // очищаем жки
lcd_puts(lcd_buffer); // теперь выводим в него
delay_ms(1);
ADCSRA=0b11011111;
}
В этой строке sprintf(lcd_buffer,"Vlazhnost=%4umV %s\n",result,stroka); помимо всего прочего вывожу %s\n - строковая переменная, ее я описываю так - char stroka[6]="Hello" к примеру;
Далее в основной функции у меня стоит switch.
Подскажите пожалуйста, как выводить %s\n строковую переменную не только "Hello" (разные слова) через switch, каждый раз при нажатии на кнопку.
Заранее огромное спасибо!!!!!
Вот сдесь фрагмент моего исходника:
interrupt [ADC_INT] void adc_isr(void){
result=ADCW*5-ADCW/10; //умножаем чтобы получить мВ и немного учитываем погрешности
sprintf(lcd_buffer,"Vlazhnost=%4umV %s\n",result,stroka);
lcd_clear(); // очищаем жки
lcd_puts(lcd_buffer); // теперь выводим в него
delay_ms(1);
ADCSRA=0b11011111;
}
В этой строке sprintf(lcd_buffer,"Vlazhnost=%4umV %s\n",result,stroka); помимо всего прочего вывожу %s\n - строковая переменная, ее я описываю так - char stroka[6]="Hello" к примеру;
Далее в основной функции у меня стоит switch.
Подскажите пожалуйста, как выводить %s\n строковую переменную не только "Hello" (разные слова) через switch, каждый раз при нажатии на кнопку.
Заранее огромное спасибо!!!!!
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
я же вроде как отвечал?!John-RADIST писал(а):Все форумчанам доброго времени суток!!! Подскажите пожалуйста:
Вот сдесь фрагмент моего исходника:
interrupt [ADC_INT] void adc_isr(void){
result=ADCW*5-ADCW/10; //умножаем чтобы получить мВ и немного учитываем погрешности
sprintf(lcd_buffer,"Vlazhnost=%4umV %s\n",result,stroka);
lcd_clear(); // очищаем жки
lcd_puts(lcd_buffer); // теперь выводим в него
delay_ms(1);
ADCSRA=0b11011111;
}
В этой строке sprintf(lcd_buffer,"Vlazhnost=%4umV %s\n",result,stroka); помимо всего прочего вывожу %s\n - строковая переменная, ее я описываю так - char stroka[6]="Hello" к примеру;
Далее в основной функции у меня стоит switch.
Подскажите пожалуйста, как выводить %s\n строковую переменную не только "Hello" (разные слова) через switch, каждый раз при нажатии на кнопку.
Заранее огромное спасибо!!!!!
P.S. и снва та же лабуда: в обработчике прерывания куча функций, в том числе медленного вывода на дисплей... сколько ж можно об этом говрить?!
битва с дураками проиграна, победители торжествуют. слава победителям!
-
John-RADIST
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Re: CodeVision AVR в вопросах и ответах
Раскажи пожалуйста по подробнее, что значит функция медленного вывода на дисплей. Просто мне не очень понятно. Обяъсни пожалуйста по подробнее если не трудно.
set_measure_parameter(current);
result = measure();
output_to_lcd(result, environments[current]);
В Протеусе при симуляции показания "мерцают" с чем это связанно????
Заранее благодарен!!!!!!!!!!!
set_measure_parameter(current);
result = measure();
output_to_lcd(result, environments[current]);
В Протеусе при симуляции показания "мерцают" с чем это связанно????
Заранее благодарен!!!!!!!!!!!
- Реклама
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
изредка пользуйтесь поиском по форуму и читайте другие аналогичные темы, надоедает, если честно, одно и то же повторять постоянно.
смотрите здесь, возможно что-то просветлится: http://www.radiokot.ru/forum/viewtopic. ... b#p1124152
смотрите здесь, возможно что-то просветлится: http://www.radiokot.ru/forum/viewtopic. ... b#p1124152
битва с дураками проиграна, победители торжествуют. слава победителям!
Re: CodeVision AVR в вопросах и ответах
прочитал уже не один сайт но так и не могу понять каким макаром настраивать таймер чтобы он срабатывал через 1с или через 1мин
может кто толково может обяснить............, поделитесь знаниями ПЛИЗ
может кто толково может обяснить............, поделитесь знаниями ПЛИЗ
Tell Me The Truth
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
спойлеры работаютJohn-RADIST писал(а):Все форумчанам доброго времени суток!!! Подскажите пожалуйста:
Вот сдесь фрагмент моего исходника:Спойлер
interrupt [ADC_INT] void adc_isr(void){
result=ADCW*5-ADCW/10; //умножаем чтобы получить мВ и немного учитываем погрешности
sprintf(lcd_buffer,"Vlazhnost=%4umV %s\n",result,stroka);
lcd_clear(); // очищаем жки
lcd_puts(lcd_buffer); // теперь выводим в него
delay_ms(1);
ADCSRA=0b11011111;
}
Чтобы выводить разные строки создать массив stroka[][] {"Hello","Display","Massiv"}John-RADIST писал(а): В этой строке sprintf(lcd_buffer,"Vlazhnost=%4umV %s\n",result,stroka); помимо всего прочего вывожу %s\n - строковая переменная, ее я описываю так - char stroka[6]="Hello" к примеру;
Далее в основной функции у меня стоит switch.
Подскажите пожалуйста, как выводить %s\n строковую переменную не только "Hello" (разные слова) через switch, каждый раз при нажатии на кнопку.
потом просто обращаться к нему stroka[1] (Hello)
или stroka
FreshMan это ведь просто.
Допустим нужно секунду
Считаем: частота 8000000 оборотов в секунду.
в таймере t0 и t2 8 бит значит всего 256 значений.
делим 8000000 /256значений = 31372.549019607843137254901960784 прерываний таймера в секунду
примерно 31.3725490/мс 0.031875 мс между прерываниями
у таймера 0 есть предделитель до 1024
31372.549019607843137254901960784/1024= 30.637254901960784313725490196078 тактов и 32.64 мс между прерываниями
ровно не получается в прерывании таймера добавляем к временной переменной 1,когда станет больше 30 это одна секунда-выставляем флаг делаем то, что нужно делать через секунду.
32.64*30=979.2 миллисекунд.Почти попали в предел
А для большей точности нужно применить алгоритм брезенхема. Если интересно почитайте в нете
В поисках истины человек развивается.
-
John-RADIST
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Re: CodeVision AVR в вопросах и ответах
Большое спасибо за помощь!!!!!!!!!!!!!!!!!
Re: CodeVision AVR в вопросах и ответах
может это частота на входе таймера ?vitalik_1984 писал(а):делим 8000000 /256значений = 31372.549019607843137254901960784 прерываний таймера в секунду
Tell Me The Truth
-
John-RADIST
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Re: CodeVision AVR в вопросах и ответах
vitalik_1984 писал(а):Чтобы выводить разные строки создать массив stroka[][] {"Hello","Display","Massiv"}потом просто обращаться к нему stroka[1] (Hello)или stroka
Подскажите пожалуйста, char stroka[6]="Hello"; например в квадратных скобках размер строки. Этоя понял, а как описывать здесь stroka[][] {"Hello","Display","Massiv"}. Пробовал по разному компилятор ругается.
Спасибо!!!
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
John-RADIST писал(а):vitalik_1984 писал(а):Чтобы выводить разные строки создать массив stroka[][] {"Hello","Display","Massiv"}потом просто обращаться к нему stroka[1] (Hello)или stroka
Подскажите пожалуйста, char stroka[6]="Hello"; например в квадратных скобках размер строки. Этоя понял, а как описывать здесь stroka[][] {"Hello","Display","Massiv"}. Пробовал по разному компилятор ругается.
Спасибо!!!
немного забыл как обращаться с массивами вот для CVAVR:
flash uchar stroka[3][15] ={{"Hello"},{"Display"},{"Massiv"}};
________________| |____число букв в самой длинной строке
________________|
________________|___число элементов строкового массива
FreshMan после равно это именно частота прерываний таймера.
Смотрите рисунок 15-2 в даташите,чтоб понять как работает делитель таймера
В поисках истины человек развивается.
-
John-RADIST
- Открыл глаза
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Re: CodeVision AVR в вопросах и ответах
flash uchar stroka[3][15] = {{"Hello"},{"Display"},{"Massiv"}};
Извиняюсь за назойливость но компилятор постоянно выдает ошибку missing"}". Все проверил вроде несколько раз. С чем это может быть связанно???
Спасибо!!!
Извиняюсь за назойливость но компилятор постоянно выдает ошибку missing"}". Все проверил вроде несколько раз. С чем это может быть связанно???
Спасибо!!!
Re: CodeVision AVR в вопросах и ответах
vitalik_1984, дуриш ты меня
prescaler - это предварительный делитель частоты
prescaler - это предварительный делитель частоты
Tell Me The Truth
- леня
- Это не хвост, это антенна
- Сообщения: 1399
- Зарегистрирован: Пн сен 13, 2010 17:34:06
- Откуда: калуга
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
собрал программатор , пыточную платку с тинькой
и
чёто ничего не происходит
в cvavr
написал PORTB=1 (припаял к нему диодик)
нажал прошить
на программаторе диодик горел когда прошился потух
ошибок не выдавал
но диодик на микре не горит !!!!!!!!!!!!!!!!!!!!!!!!!
чё делать ?????
http://cs10905.vk.com/u120883879/128547 ... 177069.jpg
и
чёто ничего не происходит
в cvavr
написал PORTB=1 (припаял к нему диодик)
нажал прошить
на программаторе диодик горел когда прошился потух
ошибок не выдавал
но диодик на микре не горит !!!!!!!!!!!!!!!!!!!!!!!!!
чё делать ?????
http://cs10905.vk.com/u120883879/128547 ... 177069.jpg
ВРУБАЙ !!!
И будь что будет !!!
И будь что будет !!!
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Программу бы посмотреть. И скажите среду, в которой писано.
Docendo discimus
- леня
- Это не хвост, это антенна
- Сообщения: 1399
- Зарегистрирован: Пн сен 13, 2010 17:34:06
- Откуда: калуга
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
ВРУБАЙ !!!
И будь что будет !!!
И будь что будет !!!
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Еще раз: программу бы посмотреть. И схема имеется ввиду не программатора, а вами собранная.
Docendo discimus
-
DotZZ
- Первый раз сказал Мяу!
- Сообщения: 22
- Зарегистрирован: Вт ноя 30, 2010 13:45:01
- Откуда: Донецк
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Помогите пожалуйста. Пытаюсь вынести часть кода в отдельный библиотечный файл, когда делаю билд, программа выдает ошибку "Can't open file... " и дальше название библиотечного файла с расширением *.о
В чем может быть проблема?
В чем может быть проблема?
- Вложения
-
- error.png
- (28.49 КБ) 347 скачиваний


