Страница 177 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт янв 26, 2012 19:07:11
sachok
FreshMan писал(а): данной проги
Это Вы про CVAVR? Если да то, можно там есть встроенный прошивальщик.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт янв 26, 2012 19:09:56
FreshMan
да про нее
дело в том что я сам делал проэкт, компилил и прошивал МК...................., а тут у меня есть уже готовый hex. вот только как прошить МК в данном случае ненаю

Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт янв 26, 2012 19:32:59
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, каждый раз при нажатии на кнопку.
Заранее огромное спасибо!!!!!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт янв 26, 2012 19:39:13
Мастер Ломастер
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. и снва та же лабуда: в обработчике прерывания куча функций, в том числе медленного вывода на дисплей... сколько ж можно об этом говрить?!

Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт янв 26, 2012 19:50:07
John-RADIST
Раскажи пожалуйста по подробнее, что значит функция медленного вывода на дисплей. Просто мне не очень понятно. Обяъсни пожалуйста по подробнее если не трудно.
set_measure_parameter(current);
result = measure();
output_to_lcd(result, environments[current]);
В Протеусе при симуляции показания "мерцают" с чем это связанно????
Заранее благодарен!!!!!!!!!!!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт янв 26, 2012 20:58:50
Мастер Ломастер
изредка пользуйтесь поиском по форуму и читайте другие аналогичные темы, надоедает, если честно, одно и то же повторять постоянно.
смотрите здесь, возможно что-то просветлится:
http://www.radiokot.ru/forum/viewtopic. ... b#p1124152
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт янв 26, 2012 21:17:14
FreshMan
прочитал уже не один сайт но так и не могу понять каким макаром настраивать таймер чтобы он срабатывал через 1с или через 1мин
может кто толково может обяснить............, поделитесь знаниями
ПЛИЗ
Re: CodeVision AVR в вопросах и ответах
Добавлено: Чт янв 26, 2012 21:51:29
vitalik_1984
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;
}
спойлеры работаютJohn-RADIST писал(а):
В этой строке sprintf(lcd_buffer,"Vlazhnost=%4umV %s\n",result,stroka); помимо всего прочего вывожу %s\n - строковая переменная, ее я описываю так - char stroka[6]="Hello" к примеру;
Далее в основной функции у меня стоит switch.
Подскажите пожалуйста, как выводить %s\n строковую переменную не только "Hello" (разные слова) через switch, каждый раз при нажатии на кнопку.
Чтобы выводить разные строки создать массив stroka[][] {"Hello","Display","Massiv"}
потом просто обращаться к нему 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 миллисекунд.Почти попали в предел
А для большей точности нужно применить алгоритм брезенхема. Если интересно почитайте в нете
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 00:41:04
John-RADIST
Большое спасибо за помощь!!!!!!!!!!!!!!!!!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 16:10:24
FreshMan
vitalik_1984 писал(а):делим 8000000 /256значений = 31372.549019607843137254901960784 прерываний таймера в секунду
может это частота на входе таймера ?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 17:19:53
John-RADIST
vitalik_1984 писал(а):Чтобы выводить разные строки создать массив stroka[][] {"Hello","Display","Massiv"}потом просто обращаться к нему stroka[1] (Hello)или stroka
Подскажите пожалуйста, char stroka[6]="Hello"; например в квадратных скобках размер строки. Этоя понял, а как описывать здесь stroka[][] {"Hello","Display","Massiv"}. Пробовал по разному компилятор ругается.
Спасибо!!!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 18:52:07
vitalik_1984
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 в даташите,чтоб понять как работает делитель таймера
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 19:21:58
John-RADIST
flash uchar stroka[3][15] = {{"Hello"},{"Display"},{"Massiv"}};
Извиняюсь за назойливость но компилятор постоянно выдает ошибку missing"}". Все проверил вроде несколько раз. С чем это может быть связанно???
Спасибо!!!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 19:30:49
FreshMan
vitalik_1984, дуриш ты меня
prescaler - это предварительный делитель частоты

Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 20:37:28
леня
собрал программатор , пыточную платку с тинькой
и
чёто ничего не происходит
в cvavr
написал PORTB=1 (припаял к нему диодик)
нажал прошить
на программаторе диодик горел когда прошился потух
ошибок не выдавал
но диодик на микре не горит !!!!!!!!!!!!!!!!!!!!!!!!!
чё делать ?????
http://cs10905.vk.com/u120883879/128547 ... 177069.jpg
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 20:45:49
FreshMan
какой программатор ?
схема
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 20:47:49
pyzhman
Программу бы посмотреть. И скажите среду, в которой писано.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 21:46:06
леня
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 21:54:28
pyzhman
Еще раз: программу бы посмотреть. И схема имеется ввиду не программатора, а вами собранная.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 27, 2012 22:27:04
DotZZ
Помогите пожалуйста. Пытаюсь вынести часть кода в отдельный библиотечный файл, когда делаю билд, программа выдает ошибку "Can't open file... " и дальше название библиотечного файла с расширением *.о
В чем может быть проблема?