не льстите себе: отвечать на ваши впросы вовсе не великое удовольствие. но кто-то же должен за вас думать?amd9800 писал(а):но видимо вы получаете удовольствие от процесса и поэтому растягиваете это удовольствие
CodeVision AVR в вопросах и ответах
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
Re: CodeVision AVR в вопросах и ответах
Не знаю как у вас психология устроенна, но я лично получаю удовольствие когда даю красивый полноценный ответ.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: CodeVision AVR в вопросах и ответах
Я уже говорил: чтобы получить красивый полноценный ответ, надо сперва задать красивый полноценный вопрос.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: CodeVision AVR в вопросах и ответах
я в шоке
BC_R[1]=BC_R[0] & BP_R;;
такая операция занимает аж 18 байт флэшки .
Как это возможно?
BC_R[1]=BC_R[0] & BP_R;;
такая операция занимает аж 18 байт флэшки .
Как это возможно?
- Pink-Pank
- Опытный кот
- Сообщения: 721
- Зарегистрирован: Ср июн 11, 2014 09:43:13
- Откуда: США
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
А сколько она по Вашему должна занимать? 
Fucking static initialization order fiasco
- Реклама
Re: CodeVision AVR в вопросах и ответах
наверное максимум 6 байт.
Прочитать из памяти и положить в регистр общего назначения данные из переменной BC_R[0]. Провести операцию и положить данные обратно в область памяти переменной BC_R[1].
все переменные unsigned char.
Прочитать из памяти и положить в регистр общего назначения данные из переменной BC_R[0]. Провести операцию и положить данные обратно в область памяти переменной BC_R[1].
все переменные unsigned char.
Re: CodeVision AVR в вопросах и ответах
Прочитать из памяти BC_R[0]
5e: 90 91 62 00 lds r25, 0x0062 - 4 байта
Прочитать из памяти BP_R
62: 80 91 60 00 lds r24, 0x0060 - 4 байта
Провести операцию
66: 89 23 and r24, r25 - 2 байта
и положить данные обратно в область памяти переменной BC_R[1].
68: 80 93 63 00 sts 0x0063, r24 - 4 байта
итого - минимум 14 байт.
Не забывайте, одна команда - минимум 2 байта.
5e: 90 91 62 00 lds r25, 0x0062 - 4 байта
Прочитать из памяти BP_R
62: 80 91 60 00 lds r24, 0x0060 - 4 байта
Провести операцию
66: 89 23 and r24, r25 - 2 байта
и положить данные обратно в область памяти переменной BC_R[1].
68: 80 93 63 00 sts 0x0063, r24 - 4 байта
итого - минимум 14 байт.
Не забывайте, одна команда - минимум 2 байта.
Re: CodeVision AVR в вопросах и ответах
приветствую. у меня засада- не могу откомпилировать в cvavr. раньше это делал без проблем из этой же папки, но то ли забыл как(опыт маловат) или может что с прогой не то(переустанавливал систему). открываю файл из папки, а проект не активен для компиляции. подскажите что я не так делаю? спасибо.
ps да, знаю что файла прожект в папке нет.
ps да, знаю что файла прожект в папке нет.
- Вложения
-
- Снимок 1.PNG
- (38.98 КБ) 188 скачиваний
-
- Снимок.PNG
- (25.15 КБ) 154 скачивания
-
Prorok12342
- Родился
- Сообщения: 5
- Зарегистрирован: Вс июл 20, 2014 23:48:22
Помогите с Code Vision AVR Выдает ошибки.
Доброго всем времени суток! Помогите, плиз с компилятором, не могу понять почему выдает ошибки. Я только начинаю изучать программирование микроконтроллеров.
Вот моя программа:
#include <tiny13a.h>
#include <delay.h>
void Pause(int ms)
{
PORTD = 0xFF;
delay_ms(ms);
}
void P(void)
{
PORTD = 0;
delay_ms(500);
Pause(500);
}
void D(void)
{
PORTD = 0;
delay_ms(1000);
Pause(500);
}
int main (void)
{
DDRD = 0xFF;
while(1)
{
P(); p(); p();
D(); D(); D();
P(); P(); P();
Pause(10000);
}
}
А вот ошибки, которые выдает компилятор:
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(1): can't open #include file: tiny13a.h
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(7): undefined symbol 'delay_ms'
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(13): undefined symbol 'delay_ms'
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(19): undefined symbol 'PORTD'
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(20): undefined symbol 'delay_ms'
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(24): the 'main' function must return 'void' type
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(29): undefined symbol 'p'
Сам не могу разобраться и инфы в инете нету совсем. Это программа мигания светодиодами типа сигнала SOS.
Вот моя программа:
#include <tiny13a.h>
#include <delay.h>
void Pause(int ms)
{
PORTD = 0xFF;
delay_ms(ms);
}
void P(void)
{
PORTD = 0;
delay_ms(500);
Pause(500);
}
void D(void)
{
PORTD = 0;
delay_ms(1000);
Pause(500);
}
int main (void)
{
DDRD = 0xFF;
while(1)
{
P(); p(); p();
D(); D(); D();
P(); P(); P();
Pause(10000);
}
}
А вот ошибки, которые выдает компилятор:
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(1): can't open #include file: tiny13a.h
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(7): undefined symbol 'delay_ms'
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(13): undefined symbol 'delay_ms'
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(19): undefined symbol 'PORTD'
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(20): undefined symbol 'delay_ms'
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(24): the 'main' function must return 'void' type
Error: C:\Users\L_IN\Desktop\Новая папка\untitled.c(29): undefined symbol 'p'
Сам не могу разобраться и инфы в инете нету совсем. Это программа мигания светодиодами типа сигнала SOS.
Последний раз редактировалось Gudd-Head Пн июл 21, 2014 09:43:46, всего редактировалось 1 раз.
Причина: Сюда перенёс
Причина: Сюда перенёс
- Pink-Pank
- Опытный кот
- Сообщения: 721
- Зарегистрирован: Ср июн 11, 2014 09:43:13
- Откуда: США
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Так у Вас файл открывается только для редактирования. Создайте новый проект и добавьте туда этот файл в качестве исходника
Fucking static initialization order fiasco
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Помогите с Code Vision AVR Выдает ошибки.
Так ведь там всё написано.Prorok12342 писал(а):не могу понять почему выдает ошибки.
ЕбатьProrok12342 писал(а):#include <tiny13a.h>
PORTD = 0xFF;
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
Prorok12342
- Родился
- Сообщения: 5
- Зарегистрирован: Вс июл 20, 2014 23:48:22
Re: Помогите с Code Vision AVR Выдает ошибки.
Блин, ошибся немного, но сути это не меняет. Поставил вместо тиньки мегу 168, ошибки те-же.Gudd-Head писал(а):Так ведь там всё написано.Prorok12342 писал(а):не могу понять почему выдает ошибки.ЕбатьProrok12342 писал(а):#include <tiny13a.h>
PORTD = 0xFF;Откуда у 13-й тиньки порт Д???
-
Prorok12342
- Родился
- Сообщения: 5
- Зарегистрирован: Вс июл 20, 2014 23:48:22
Re: CodeVision AVR в вопросах и ответах
С чего вы взяли, что только для редактирования? Я его так и добавлял, как исходник. Вот думаю, может у меня не полная программа, то-есть в ней нет дерективы include в библиотеках?Pink-Pank писал(а):Так у Вас файл открывается только для редактирования. Создайте новый проект и добавьте туда этот файл в качестве исходника
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Помогите с Code Vision AVR Выдает ошибки.
Как вы думаете, что означает запись "can't open #include file: tiny13a.h"???Prorok12342 писал(а):Блин, ошибся немного, но сути это не меняет. Поставил вместо тиньки мегу 168, ошибки те-же.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
Prorok12342
- Родился
- Сообщения: 5
- Зарегистрирован: Вс июл 20, 2014 23:48:22
Re: Помогите с Code Vision AVR Выдает ошибки.
Думаю она означает, что компилятор не может найти необходимый файл в своей библиотеке, появляется вопрос как его туда добавить и где искать?Gudd-Head писал(а):Как вы думаете, что означает запись "can't open #include file: tiny13a.h"???Prorok12342 писал(а):Блин, ошибся немного, но сути это не меняет. Поставил вместо тиньки мегу 168, ошибки те-же.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
На сколько мне известно, в CVAVR генератор кода сам добавляет строки с подключением необходимых файлов.
- Pink-Pank
- Опытный кот
- Сообщения: 721
- Зарегистрирован: Ср июн 11, 2014 09:43:13
- Откуда: США
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
CodeVision устанавливали? Или просто скопипастили откуда-то? Возможно, проблемы с путями, которые прописываются при установке в реестре.
Попробуйте найти в папке CodeVision нужные файлы и указать в заголовочнике полные пути до них, например:
#include "c:\Program Files\CodeVision\include\delay.h"
Попробуйте найти в папке CodeVision нужные файлы и указать в заголовочнике полные пути до них, например:
#include "c:\Program Files\CodeVision\include\delay.h"
Fucking static initialization order fiasco
-
Prorok12342
- Родился
- Сообщения: 5
- Зарегистрирован: Вс июл 20, 2014 23:48:22
Re: CodeVision AVR в вопросах и ответах
Спасибо за помощь. проблему устранил. Все дело было в антивирусе, после того, как я его отключил все сразу-же заработало. У меня НОД-32.
Re: CodeVision AVR в вопросах и ответах
Хочу в программе сделать усреднение данных читаемых АЦП.
Создал массив из 256 переменных типа char.
Имею цикл от 0 до 255. Например считаю переменную i. Каждое новое измерение я помещаю в по индексу i.
Но мне надо знать усредненную цифру в любой момент времени. Понятно что это будет сумма поделить на 256 (то есть >>8).
Но ведь просуммировать 256 элементов это сжирает много ресурсов в один момент времени.
И я подумал создать еще одну переменную Сумма Массива - sm.
Из этой суммы будет отниматься предыдущий элемент и добавляться новый. Таким образом при каждой итерации имею сразу и сумму.
А сместить в право на 8 позиций можно в любой момент.
Теперь вопрос если i будет типа unsigned char я могу постоянно писать i++ и когда i будет 255 тогда при новой операции i++ станет 0 или программа выдаст ошибку переполнения?
Создал массив из 256 переменных типа char.
Имею цикл от 0 до 255. Например считаю переменную i. Каждое новое измерение я помещаю в по индексу i.
Но мне надо знать усредненную цифру в любой момент времени. Понятно что это будет сумма поделить на 256 (то есть >>8).
Но ведь просуммировать 256 элементов это сжирает много ресурсов в один момент времени.
И я подумал создать еще одну переменную Сумма Массива - sm.
Из этой суммы будет отниматься предыдущий элемент и добавляться новый. Таким образом при каждой итерации имею сразу и сумму.
А сместить в право на 8 позиций можно в любой момент.
Теперь вопрос если i будет типа unsigned char я могу постоянно писать i++ и когда i будет 255 тогда при новой операции i++ станет 0 или программа выдаст ошибку переполнения?
- Pink-Pank
- Опытный кот
- Сообщения: 721
- Зарегистрирован: Ср июн 11, 2014 09:43:13
- Откуда: США
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Программа ничего не выдаст. А уж контроллер вообще сожрет за милую душу. Очень удобный прием - пользуйтесь на здоровье!
Fucking static initialization order fiasco


