CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение ARV »

amd9800 писал(а):но видимо вы получаете удовольствие от процесса и поэтому растягиваете это удовольствие
не льстите себе: отвечать на ваши впросы вовсе не великое удовольствие. но кто-то же должен за вас думать?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: CodeVision AVR в вопросах и ответах

Сообщение amd9800 »

Не знаю как у вас психология устроенна, но я лично получаю удовольствие когда даю красивый полноценный ответ.
Реклама
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: CodeVision AVR в вопросах и ответах

Сообщение Gudd-Head »

Я уже говорил: чтобы получить красивый полноценный ответ, надо сперва задать красивый полноценный вопрос.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: CodeVision AVR в вопросах и ответах

Сообщение amd9800 »

я в шоке

BC_R[1]=BC_R[0] & BP_R;;

такая операция занимает аж 18 байт флэшки .
Как это возможно?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Pink-Pank »

А сколько она по Вашему должна занимать? :o
Fucking static initialization order fiasco
Реклама
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: CodeVision AVR в вопросах и ответах

Сообщение amd9800 »

наверное максимум 6 байт.
Прочитать из памяти и положить в регистр общего назначения данные из переменной BC_R[0]. Провести операцию и положить данные обратно в область памяти переменной BC_R[1].

все переменные unsigned char.
Реклама
a_skr
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Re: CodeVision AVR в вопросах и ответах

Сообщение a_skr »

Прочитать из памяти 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 байта.
asd81
Прорезались зубы
Сообщения: 247
Зарегистрирован: Вс ноя 06, 2011 16:59:31

Re: CodeVision AVR в вопросах и ответах

Сообщение asd81 »

приветствую. у меня засада- не могу откомпилировать в cvavr. раньше это делал без проблем из этой же папки, но то ли забыл как(опыт маловат) или может что с прогой не то(переустанавливал систему). открываю файл из папки, а проект не активен для компиляции. подскажите что я не так делаю? спасибо.
ps да, знаю что файла прожект в папке нет.
Вложения
Снимок 1.PNG
(38.98 КБ) 188 скачиваний
Снимок.PNG
(25.15 КБ) 154 скачивания
Prorok12342
Родился
Сообщения: 5
Зарегистрирован: Вс июл 20, 2014 23:48:22

Помогите с Code Vision AVR Выдает ошибки.

Сообщение Prorok12342 »

Доброго всем времени суток! Помогите, плиз с компилятором, не могу понять почему выдает ошибки. Я только начинаю изучать программирование микроконтроллеров.

Вот моя программа:
#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 в вопросах и ответах

Сообщение Pink-Pank »

Так у Вас файл открывается только для редактирования. Создайте новый проект и добавьте туда этот файл в качестве исходника
Fucking static initialization order fiasco
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Помогите с Code Vision AVR Выдает ошибки.

Сообщение Gudd-Head »

Prorok12342 писал(а):не могу понять почему выдает ошибки.
Так ведь там всё написано.
Prorok12342 писал(а):#include <tiny13a.h>
PORTD = 0xFF;
Ебать :shock: Откуда у 13-й тиньки порт Д???
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Prorok12342
Родился
Сообщения: 5
Зарегистрирован: Вс июл 20, 2014 23:48:22

Re: Помогите с Code Vision AVR Выдает ошибки.

Сообщение Prorok12342 »

Gudd-Head писал(а):
Prorok12342 писал(а):не могу понять почему выдает ошибки.
Так ведь там всё написано.
Prorok12342 писал(а):#include <tiny13a.h>
PORTD = 0xFF;
Ебать :shock: Откуда у 13-й тиньки порт Д???
Блин, ошибся немного, но сути это не меняет. Поставил вместо тиньки мегу 168, ошибки те-же.
Prorok12342
Родился
Сообщения: 5
Зарегистрирован: Вс июл 20, 2014 23:48:22

Re: CodeVision AVR в вопросах и ответах

Сообщение Prorok12342 »

Pink-Pank писал(а):Так у Вас файл открывается только для редактирования. Создайте новый проект и добавьте туда этот файл в качестве исходника
С чего вы взяли, что только для редактирования? Я его так и добавлял, как исходник. Вот думаю, может у меня не полная программа, то-есть в ней нет дерективы include в библиотеках?
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Помогите с Code Vision AVR Выдает ошибки.

Сообщение Gudd-Head »

Prorok12342 писал(а):Блин, ошибся немного, но сути это не меняет. Поставил вместо тиньки мегу 168, ошибки те-же.
Как вы думаете, что означает запись "can't open #include file: tiny13a.h"???
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Prorok12342
Родился
Сообщения: 5
Зарегистрирован: Вс июл 20, 2014 23:48:22

Re: Помогите с Code Vision AVR Выдает ошибки.

Сообщение Prorok12342 »

Gudd-Head писал(а):
Prorok12342 писал(а):Блин, ошибся немного, но сути это не меняет. Поставил вместо тиньки мегу 168, ошибки те-же.
Как вы думаете, что означает запись "can't open #include file: tiny13a.h"???
Думаю она означает, что компилятор не может найти необходимый файл в своей библиотеке, появляется вопрос как его туда добавить и где искать?
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Аlex »

На сколько мне известно, в CVAVR генератор кода сам добавляет строки с подключением необходимых файлов.
Аватара пользователя
Pink-Pank
Опытный кот
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Pink-Pank »

CodeVision устанавливали? Или просто скопипастили откуда-то? Возможно, проблемы с путями, которые прописываются при установке в реестре.
Попробуйте найти в папке CodeVision нужные файлы и указать в заголовочнике полные пути до них, например:
#include "c:\Program Files\CodeVision\include\delay.h"
Fucking static initialization order fiasco
Prorok12342
Родился
Сообщения: 5
Зарегистрирован: Вс июл 20, 2014 23:48:22

Re: CodeVision AVR в вопросах и ответах

Сообщение Prorok12342 »

Спасибо за помощь. проблему устранил. Все дело было в антивирусе, после того, как я его отключил все сразу-же заработало. У меня НОД-32.
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: CodeVision AVR в вопросах и ответах

Сообщение amd9800 »

Хочу в программе сделать усреднение данных читаемых АЦП.

Создал массив из 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 в вопросах и ответах

Сообщение Pink-Pank »

Программа ничего не выдаст. А уж контроллер вообще сожрет за милую душу. Очень удобный прием - пользуйтесь на здоровье!
Fucking static initialization order fiasco
Ответить

Вернуться в «AVR»