Фамилии и девайсы предоставьте, пожалуйста.у всех все стабильно работает
CodeVision AVR в вопросах и ответах
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Протосс - дурак. Это я скажу, положа руку на сердце. В остальном(по поводу питания) опираюсь на даташит. Потому как делая что-то для кого-то, гарантирую результат. А гарантии мои опираются на гарантии разработчика мк, в частности. Насчет того, что у всех работает: у компонентов есть запас, в т.ч. по питанию. Можно использовать, не спорю. Но с вопросами типа "собрал, а не работает" в свое время задолбало разгребать. Соберите что-нибудь из журнала Радио, зацените масштаб допусков так сказать.

Docendo discimus
- Реклама
Re: CodeVision AVR в вопросах и ответах
pyzh_man писал(а):Фамилии и девайсы предоставьте, пожалуйста.
А насчет "всех" остальных - не может же эта конструкция быть не рабочей, если ее столько раз повторили. Значит мега держит эту частоту, пусть это и недокументированная возможность (те самые резервы). Это, само по себе, не хорошо и не плохо.
Плохо то, что Проттосс не указал этого явно в описании конструкции. С другой стороны, там черным по белому написано:
Но, лично я, на такую документацию не натыкался. Может пропустил в даташите какой-нибудь график зависимости тактовой частоты от Vcc.Согласно документации ATMEL на ATmega8(L), микроконтроллер может работать при таком напряжении питания до частоты немногим выше 14 МГц.
Как раз этим и занимаюсь, посмотрим что выйдетpyzh_man писал(а):Соберите что-нибудь из журнала Радио, зацените масштаб допусков так сказать.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Что-то я повелся на провокационное
Об авторе, надеюсь, никто не забыл? И может помочь? ТЗ описано в постах чуть выше.Shutilla писал(а):Что же,
Docendo discimus
- Сериг
- Это не хвост, это антенна
- Сообщения: 1451
- Зарегистрирован: Пт фев 19, 2010 19:39:28
- Откуда: Москва
Re: CodeVision AVR в вопросах и ответах
Так питание моего мк 3,7-4,2 вольта,питание приемника 4,5-5,7 вольт
Re: CodeVision AVR в вопросах и ответах
туплю( подскажите плиз, как сконвертить строку (в которой шестнадцатиричное число) - просто в число?
- Реклама
- IfoR
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Сб ноя 15, 2008 10:09:56
- Откуда: г. Тула
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Ака магия:
Оно?
Использовать так:
Не проверял. 
Код: Выделить всё
int HexToInt(char *str)
{
char r=strlen(str), s=0; int i=0;
while(r--) i+=(str[r] - (str[r]>'9')?( (str[r]>='a')?('a'):('A') - 10):('0')) << 4*s++;
return i;
}Использовать так:
Код: Выделить всё
char str[]="2fA";
int i;
i = HexToInt(str);
Последний раз редактировалось IfoR Сб июл 30, 2011 23:05:32, всего редактировалось 8 раз.
- Сериг
- Это не хвост, это антенна
- Сообщения: 1451
- Зарегистрирован: Пт фев 19, 2010 19:39:28
- Откуда: Москва
Re: CodeVision AVR в вопросах и ответах
Это мне??
- IfoR
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Сб ноя 15, 2008 10:09:56
- Откуда: г. Тула
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Нет. Это автору выше.
Re: CodeVision AVR в вопросах и ответах
Сериг, так про тактовую частоту вы нам там ничего и не сказали. И про частоту ШИМа тоже.
От тактовой зависит будет ли АЦП успевать мерить ваш ШИМ или нет. Иначе он просто не сможет определить необходимые 15%, или будет работать с большой погрешностью.
От тактовой зависит будет ли АЦП успевать мерить ваш ШИМ или нет. Иначе он просто не сможет определить необходимые 15%, или будет работать с большой погрешностью.
- Сериг
- Это не хвост, это антенна
- Сообщения: 1451
- Зарегистрирован: Пт фев 19, 2010 19:39:28
- Откуда: Москва
Re: CodeVision AVR в вопросах и ответах
Я не могу поменять шим ;( шим до 250кгц вроде
Re: CodeVision AVR в вопросах и ответах
Что то не пошло) Нашел функцию для перевода одного символа, а дальше уже дело техникиIfoR писал(а):Ака магия:
Не проверял.
#define xtod(c) ((c>='0' && c<='9') ? c-'0' : ((c>='A' && c<='F') ? \
c-'A'+10 : ((c>='a' && c<='f') ? c-'a'+10 : 0)))
- IfoR
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Сб ноя 15, 2008 10:09:56
- Откуда: г. Тула
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Ну во-первых: это не функция, а макрос; 
во-вторых: он написан не оптимально;
в-третьих: я нашёл у себя ошибку: не поставил пару скобок: 
во-вторых: он написан не оптимально;
в-третьих: я нашёл у себя ошибку: не поставил пару скобок:
Код: Выделить всё
int HexToInt(char *str)
{
char r=strlen(str), s=0; int i=0;
while(r--) i+=(str[r] - ((str[r]>'9')?( (str[r]>='a')?('a'):('A') - 10):('0'))) << 4*s++;
return i;
}Re: CodeVision AVR в вопросах и ответах
Спасибо большое!=) Так то разницы не заметил в скобках, но работает)))IfoR писал(а):Ну во-первых
- IfoR
- Поставщик валерьянки для Кота
- Сообщения: 2029
- Зарегистрирован: Сб ноя 15, 2008 10:09:56
- Откуда: г. Тула
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
ну я же говорю: это Сишная магия. 
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: CodeVision AVR в вопросах и ответах
Народ помогите разобраться с глюком...
Есть код на CVAVR типа:
На выходе получаю строку 33505.898 вместо 33505.900 - в чём может быть запара? В функции ftoa ? версия CVAVR 1.25.5 
ЗЫ Не первый раз сталкиваюсь с таким поведением cvavr - тут просто припёрло...
Есть код на CVAVR типа:
Код: Выделить всё
unsigned char temp_str[12];
double temp_value;
unsigned long int val;
.....
val=335059001;
temp_value=val/10000.0;
ftoa(temp_value,3, (unsigned char *)temp_str);
ЗЫ Не первый раз сталкиваюсь с таким поведением cvavr - тут просто припёрло...
- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Где-то я на этом форуме уже писал с примерами -- двоичный формат float далеко не всегда может точно передать десятичное число с плавающей точкой. И наоборот.
Компилятор тут не важен. Смиритесь.
Компилятор тут не важен. Смиритесь.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Ну это тоже не слишком оптимально. И со скобочками, кажется, все же не то.IfoR писал(а):Ну во-первых: это не функция, а макрос;
во-вторых: он написан не оптимально;
в-третьих: я нашёл у себя ошибку: не поставил пару скобок:Код: Выделить всё
int HexToInt(char *str) { char r=strlen(str), s=0; int i=0; while(r--) i+=(str[r] - ((str[r]>'9')?( (str[r]>='a')?('a'):('A') - 10):('0'))) << 4*s++; return i; }
Код: Выделить всё
int HexToInt(char *str)
{
char r=strlen(str), s=0; int i=0;
while(r--) i+=(str[r] - ((str[r]>'9')?( (str[r]>='a'?'a':'A') - 10):('0'))) << 4*s++;
return i;
}
unsigned HexToInt1(char *str)
{
unsigned u = 0;
while( *str ) {
uint8_t c = *str++;
if (c > 'F') c -= 'a'-'A';
c -= '0';
if (c > 9) c -= 'A'-'0'-10;
u = (u << 4) + c;
}
return u;
}Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
- totty
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср авг 03, 2011 22:26:02
- Откуда: Севастополь
Re: CodeVision AVR в вопросах и ответах
Доброго времени суток форумчанам, только начал осваивать МК, написал программу для мигания светодиодами. Сведотодиоды (8 штук) подключены на порт В. МК atiny2313. На INT0 подтянута кнопка переключения режимов.
Программа
#include <tiny2313.h>
#include <delay.h>
unsigned int i,t;
interrupt [EXT_INT0] void ext_int0(void)
{
PORTB.2=1;
x++;
for (x>3)
{
x=0;
}
}
void main(void)
{
DDRB=0b11111111; // порт В весь на выход
DDRD.2=0; // порт PD2 как вход для прерывания
GIMSK=0b01000000;// Разерашем прерывания INT0
MCUCR=0b0000001; // прерывание будет по фронту импульса
#asm("sei") // Разрешаем глобальные прерывания
label1:
{
PORTB=0b10011001;
}
label2:
{
PORTB=0b10000001;
}
label3:
{
PORTB=0b10101010;
}
if (x==1)
goto label1;
if (x==2)
goto label2;
if (x==3)
goto label3;
}
после прошивки горят 3 светодиода, по прерыванию могут загореться 2, потом снова же 3)
подскажите, где ошибка может быть?
пробовал циклами if-else вроде работает, но не в тех порядках как нужно(
Программа
#include <tiny2313.h>
#include <delay.h>
unsigned int i,t;
interrupt [EXT_INT0] void ext_int0(void)
{
PORTB.2=1;
x++;
for (x>3)
{
x=0;
}
}
void main(void)
{
DDRB=0b11111111; // порт В весь на выход
DDRD.2=0; // порт PD2 как вход для прерывания
GIMSK=0b01000000;// Разерашем прерывания INT0
MCUCR=0b0000001; // прерывание будет по фронту импульса
#asm("sei") // Разрешаем глобальные прерывания
label1:
{
PORTB=0b10011001;
}
label2:
{
PORTB=0b10000001;
}
label3:
{
PORTB=0b10101010;
}
if (x==1)
goto label1;
if (x==2)
goto label2;
if (x==3)
goto label3;
}
после прошивки горят 3 светодиода, по прерыванию могут загореться 2, потом снова же 3)
подскажите, где ошибка может быть?
пробовал циклами if-else вроде работает, но не в тех порядках как нужно(
- SubDia
- Держит паяльник хвостом
- Сообщения: 995
- Зарегистрирован: Сб апр 02, 2011 17:59:22
- Откуда: Город-герой Севастополь
Re: CodeVision AVR в вопросах и ответах
totty, я как раз давно хотел хороший ужастик посмотреть. Спасибо, посмотрел. 
Ладно, это все шуточки, не обижайтесь.
А Вы можете объяснить, что конкретно Вы хотите добиться от МК с помощью этой программы? В какой последовательности должны мигать светодиоды?
Просто здесь проще по новой написать, чем искать ошибки..
Ладно, это все шуточки, не обижайтесь.
А Вы можете объяснить, что конкретно Вы хотите добиться от МК с помощью этой программы? В какой последовательности должны мигать светодиоды?
Просто здесь проще по новой написать, чем искать ошибки..
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

- totty
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср авг 03, 2011 22:26:02
- Откуда: Севастополь
Re: CodeVision AVR в вопросах и ответах
вобщем хочу добиться эффекта как в ёлочной гирлянде, включил - первый тип мигания, нажал кнопку (прерывание ) переключилось на 2 тип мигания (горения), 3 раз нажал- на третий, на четвёртый чтобы всё возвращалоськ первому типу горения)SubDia писал(а): А Вы можете объяснить, что конкретно Вы хотите добиться от МК с помощью этой программы? В какой последовательности должны мигать светодиоды?
Просто здесь проще по новой написать, чем искать ошибки..



