Это Вы про CVAVR? Если да то, можно там есть встроенный прошивальщик.FreshMan писал(а): данной проги
CodeVision AVR в вопросах и ответах
Я не Сашок!!!
- Реклама
да про нее
дело в том что я сам делал проэкт, компилил и прошивал МК...................., а тут у меня есть уже готовый hex. вот только как прошить МК в данном случае ненаю
дело в том что я сам делал проэкт, компилил и прошивал МК...................., а тут у меня есть уже готовый hex. вот только как прошить МК в данном случае ненаю
Tell Me The Truth
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Все форумчанам доброго времени суток!!! Подскажите пожалуйста:
Вот сдесь фрагмент моего исходника:
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, каждый раз при нажатии на кнопку.
Заранее огромное спасибо!!!!!
я же вроде как отвечал?!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. и снва та же лабуда: в обработчике прерывания куча функций, в том числе медленного вывода на дисплей... сколько ж можно об этом говрить?!
битва с дураками проиграна, победители торжествуют. слава победителям!
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
Раскажи пожалуйста по подробнее, что значит функция медленного вывода на дисплей. Просто мне не очень понятно. Обяъсни пожалуйста по подробнее если не трудно.
set_measure_parameter(current);
result = measure();
output_to_lcd(result, environments[current]);
В Протеусе при симуляции показания "мерцают" с чем это связанно????
Заранее благодарен!!!!!!!!!!!
set_measure_parameter(current);
result = measure();
output_to_lcd(result, environments[current]);
В Протеусе при симуляции показания "мерцают" с чем это связанно????
Заранее благодарен!!!!!!!!!!!
- Реклама
изредка пользуйтесь поиском по форуму и читайте другие аналогичные темы, надоедает, если честно, одно и то же повторять постоянно.
смотрите здесь, возможно что-то просветлится: http://www.radiokot.ru/forum/viewtopic. ... b#p1124152
смотрите здесь, возможно что-то просветлится: http://www.radiokot.ru/forum/viewtopic. ... b#p1124152
битва с дураками проиграна, победители торжествуют. слава победителям!
прочитал уже не один сайт но так и не могу понять каким макаром настраивать таймер чтобы он срабатывал через 1с или через 1мин
может кто толково может обяснить............, поделитесь знаниями ПЛИЗ
может кто толково может обяснить............, поделитесь знаниями ПЛИЗ
Tell Me The Truth
спойлеры работают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 миллисекунд.Почти попали в предел
А для большей точности нужно применить алгоритм брезенхема. Если интересно почитайте в нете
В поисках истины человек развивается.
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
может это частота на входе таймера ?vitalik_1984 писал(а):делим 8000000 /256значений = 31372.549019607843137254901960784 прерываний таймера в секунду
Tell Me The Truth
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
vitalik_1984 писал(а):Чтобы выводить разные строки создать массив stroka[][] {"Hello","Display","Massiv"}потом просто обращаться к нему stroka[1] (Hello)или stroka
Подскажите пожалуйста, char stroka[6]="Hello"; например в квадратных скобках размер строки. Этоя понял, а как описывать здесь stroka[][] {"Hello","Display","Massiv"}. Пробовал по разному компилятор ругается.
Спасибо!!!
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 в даташите,чтоб понять как работает делитель таймера
В поисках истины человек развивается.
- Сообщения: 44
- Зарегистрирован: Чт дек 15, 2011 19:04:24
flash uchar stroka[3][15] = {{"Hello"},{"Display"},{"Massiv"}};
Извиняюсь за назойливость но компилятор постоянно выдает ошибку missing"}". Все проверил вроде несколько раз. С чем это может быть связанно???
Спасибо!!!
Извиняюсь за назойливость но компилятор постоянно выдает ошибку missing"}". Все проверил вроде несколько раз. С чем это может быть связанно???
Спасибо!!!
vitalik_1984, дуриш ты меня
prescaler - это предварительный делитель частоты
prescaler - это предварительный делитель частоты
Tell Me The Truth
собрал программатор , пыточную платку с тинькой
и
чёто ничего не происходит
в cvavr
написал PORTB=1 (припаял к нему диодик)
нажал прошить
на программаторе диодик горел когда прошился потух
ошибок не выдавал
но диодик на микре не горит !!!!!!!!!!!!!!!!!!!!!!!!!
чё делать ?????
http://cs10905.vk.com/u120883879/128547 ... 177069.jpg
и
чёто ничего не происходит
в cvavr
написал PORTB=1 (припаял к нему диодик)
нажал прошить
на программаторе диодик горел когда прошился потух
ошибок не выдавал
но диодик на микре не горит !!!!!!!!!!!!!!!!!!!!!!!!!
чё делать ?????
http://cs10905.vk.com/u120883879/128547 ... 177069.jpg
ВРУБАЙ !!!
И будь что будет !!!
И будь что будет !!!
Программу бы посмотреть. И скажите среду, в которой писано.
Docendo discimus
ВРУБАЙ !!!
И будь что будет !!!
И будь что будет !!!
Еще раз: программу бы посмотреть. И схема имеется ввиду не программатора, а вами собранная.
Docendo discimus
Помогите пожалуйста. Пытаюсь вынести часть кода в отдельный библиотечный файл, когда делаю билд, программа выдает ошибку "Can't open file... " и дальше название библиотечного файла с расширением *.о
В чем может быть проблема?
В чем может быть проблема?
- Вложения
-
- error.png
- (28.49 КБ) 347 скачиваний


