Страница 259 из 421

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

Добавлено: Чт май 09, 2013 20:24:58
FreshMan
Импульс писал(а):А как теперь это связать не знаю...
вот еще пару раз, на ночь, внятно все прочитай и все само собой свяжется ! :))

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

Добавлено: Пт май 10, 2013 15:10:50
evgenis
Здравствуйте,объясните новичку что и как делать.Исходник-это файл С,так ведь,открываю его в программе,изменяю под свои нужды,хочу откомпилировать,только ничего не выходит все кнопки серого цвета и не нажимаются.Может я что-то не так делаю.Объясните поподробнее,как это делается и где будет сохраняться нех-файл.

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

Добавлено: Пт май 10, 2013 16:04:07
ChipKiller
Исходник-это файл С ..... хочу откомпилировать,только ничего не выходит все кнопки серого цвета и не нажимаются
.. а к проекту С-файл подключен?

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

Добавлено: Пт май 10, 2013 16:12:02
evgenis
ChipKiller писал(а):
Исходник-это файл С ..... хочу откомпилировать,только ничего не выходит все кнопки серого цвета и не нажимаются
.. а к проекту С-файл подключен?
В смысле?

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

Добавлено: Пт май 10, 2013 16:19:20
ChipKiller
без смысла ... проект в CV AVR содержит всю информацию, необходимую для компиляции

PS. .. ищите в папке файл *.prj

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

Добавлено: Пт май 10, 2013 16:33:07
evgenis
то есть я беру файл прж изменяю его.потом меняю контроллер ,частоту и компилирую,а где хекс сохранится

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

Добавлено: Пт май 10, 2013 16:38:08
ChipKiller
файл *.prj изменяется программой , т.е просто кликните по *.prj-файлу - проект сам запустится и сделает *.с - файлы доступными для компиляции

Вообще лучше почитайте книжку Лебедева, раз "все так плохо"......

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

Добавлено: Пт май 10, 2013 16:41:11
evgenis
понятно.спасибо за помощь.

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

Добавлено: Пт май 10, 2013 16:56:45
ChipKiller
выкладывал пример проекта CV AVR здесь http://radiokot.ru/forum/viewtopic.php?f=20&t=89112

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

Добавлено: Пт май 10, 2013 17:08:16
evgenis
что-то не пойму при компиляции 3 ошибки ,хотя исходник по идее должен быть правильным.и где хекс то сохраняется не могу найти.

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

Добавлено: Пт май 10, 2013 17:24:12
vitalik_1984
Если у вас ошибки при компиляции никакого выходного файла не создается, ибо невозможно пропихнуть непорезанный фарш через сито.
Когда не будет ошибок, тогда выходной файл находится в папке EXE внутри папки проекта.
Только нужно нажимать кнопку "build all", а не "compile".

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

Добавлено: Пт май 10, 2013 17:28:48
evgenis
ну я так и нажимал.спасибо за помощь.вы мне очень помогли.

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

Добавлено: Пт май 10, 2013 18:16:14
Импульс
vitalik_1984 писал(а):непорезанный фарш через сито.
".
:))) :))) :))) Полностью соглашен!
Спойлерvoid f(int t) // Вперед
{
PORTD&=~(1<<1); //PORTD.1=0;
PORTD|=1<<2; //PORTD.2=1;
PORTD&=~(1<<3); //PORTD.3=0;
PORTD&=~(1<<4); //PORTD.4=0; 0001 0000
if(t!=0) delay_walk(t); 1110 1111
}

void b(int t) // назад
{
С таким набором команд ошибок быть не должно не каких.

:))) :wink:
PORTD|=1<<1; //PORTD.1=1;
PORTD&=~(1<<2); //PORTD.2=0;
PORTD&=~(1<<3); //PORTD.3=0;
PORTD&=~(1<<4); //PORTD.4=0;
if(t!=0) delay_walk(t);
}

void fl(int t) // вперед налево
{
PORTD&=~(1<<1); //PORTD.1=0;
PORTD|=1<<2; //PORTD.2=1;
PORTD&=~(1<<3); //PORTD.3=0;
PORTD|=1<<4; //PORTD.4=1;
if(t!=0) delay_walk(t);
}

void fr(int t) // вперед направо
{
PORTD&=~(1<<1); //PORTD.1=0;
PORTD|=1<<2; //PORTD.2=1;
PORTD|=1<<3; //PORTD.3=1;
PORTD&=~(1<<4); //PORTD.4=0;
if(t!=0) delay_walk(t);
}

void bl(int t) // назад налево
{
PORTD|=1<<1; //PORTD.1=1;
PORTD&=~(1<<2); //PORTD.2=0;
PORTD&=~(1<<3); //PORTD.3=0;
PORTD|=1<<4; //PORTD.4=1;
if(t!=0) delay_walk(t);
}

void br(int t) // назад направо
{
PORTD|=1<<1; //PORTD.1=1;
PORTD&=~(1<<2); //PORTD.2=0;
PORTD|=1<<3; //PORTD.3=1;
PORTD&=~(1<<4); //PORTD.4=0;
if(t!=0) delay_walk(t);
}

void stop(int t) //стоп
{
PORTD&=~(1<<1); //PORTD.1=0;
PORTD&=~(1<<2); //PORTD.2=0;
PORTD&=~(1<<3); //PORTD.3=0;
PORTD&=~(1<<4); //PORTD.4=0;
if(t!=0) delay_walk(t);
[/quote]}

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

Добавлено: Пт май 10, 2013 22:10:00
kentik
Скажите, подалуйста, есть число long a=23FF56 из него надо получить 3 числа char i=23, q=FF, w= 56
я правильно делаю?

long a;
char i,q,w;

i=a>>16;
q=a>>8;
w=a;

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

Добавлено: Пт май 10, 2013 22:20:53
DDark
доброго времени суток!) подскажите пожалуйста, могут быть какие нибудь проблемы с использованием как дискретного входа пинов PB0 (T0), PB1(T1)? просто столкнулся с какой то мистикой - сажаю на пин землю через кнопочку и пытаюсь посчитать количество ее нажатий, а почему то программа этих нажатий и не видит, причем как с подтяжкой так и с 3-тим состоянием... подскажите в чем может быть проблема

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

Добавлено: Сб май 11, 2013 00:08:43
vitalik_1984
kentik писал(а):Скажите, подалуйста, есть число long a=23FF56 из него надо получить 3 числа char i=23, q=FF, w= 56
я правильно делаю?
главное не забыть, что важными являются все таки старшие байты, так что компилятор оставит скорее 23 вместо 56
нужно исключить такую возможность и обрезать нормально.

Код: Выделить всё

 long a;
char i,q,w;

i=a>>16;//тут все равно вдвигаются нули
q=(a>>8)&0xFF; //тут уже лучше обрезать
w=a&0xFF ;  

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

Добавлено: Сб май 11, 2013 05:34:48
ChipKiller
vitalik_1984 писал(а):главное не забыть, что важными являются все таки старшие байты, так что компилятор оставит скорее 23 вместо 56
... важными для кого? :) ... компилятор сделает ровно то, что ему приказали ....

ЗЫ. как вариант можно объявить union:

Код: Выделить всё

union u_byte4{
long lng;
unsigned char uch[4];
}ub4;

......
ub4.lng=0x23FF56;
.....
x=ub4.uch[0];
y=ub4.uch[1];
.......

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

Добавлено: Сб май 11, 2013 13:12:36
vitalik_1984
а ничего, что нельзя читать из одного члена объединения если записано в другой.
Кто что пишет.
http://ru.m.wikipedia.org/wiki/Объедине ... ра_данных)
В любой момент времени объединение хранит значение только одного из членов.

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

Добавлено: Сб май 11, 2013 16:55:05
kentik
vitalik_1984 писал(а): нужно исключить такую возможность и обрезать нормально.
спасибо огромное.

Еще один вопрос дурацкий от нуба :-)

есть слово "привет мир"
его нужно разбить на символы. т.е. получить массив
{"п", "р", "и", "в", "е", "т", " ", "м", "и", "р"}

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

Добавлено: Сб май 11, 2013 17:14:45
ChipKiller
vitalik_1984 писал(а):а ничего, что нельзя читать из одного члена объединения если записано в другой
... для тех кто не знает, "что нельзя" ...

Код: Выделить всё

....
ub4.lng=0x12345678;
....
Изображение