WinAvr в вопросах и ответах
-
evgeniyvictorov
- Родился
- Сообщения: 7
- Зарегистрирован: Пт авг 09, 2013 07:43:40
Re: WinAvr в вопросах и ответах
Вопрос такой код не работает в Winavr, в CodeVision аналогичный код проходит без проблем, в чем может быть причина?
- Вложения
-
- tda7440.c
- (1.04 КБ) 329 скачиваний
Re: WinAvr в вопросах и ответах
во-первых:
volatile signed char _Reg=47;
volatile signed char _Vol=25;
во-вторых:
_Reg=_Vol;
if (_Reg!=_Vol)//проверка encodera, если крутим
как-то маловато шансов возникнуть прерыванию между этих строчек.
не лучше-ли так:
volatile signed char _Reg=47;
volatile signed char _Vol=25;
во-вторых:
_Reg=_Vol;
if (_Reg!=_Vol)//проверка encodera, если крутим
как-то маловато шансов возникнуть прерыванию между этих строчек.
не лучше-ли так:
Код: Выделить всё
if ((PIND&(1<<PIND0)) && (_Reg!=_Vol)) //если кнопка не нажата и если крутим
{
_Vol=_Reg; //записываем новое значение и выводим
PORTA=_Vol;
}
else if((PIND&(1<<PIND0))==0)//нажата копка
{MENU();}-
evgeniyvictorov
- Родился
- Сообщения: 7
- Зарегистрирован: Пт авг 09, 2013 07:43:40
Re: WinAvr в вопросах и ответах
Вопрос в то, что я начал проект в cvavre, но т. к. ограничение в 4кило пришлось думать как перенести в winavr.
Полностью рабочий код не работает в winavr, где можно что изменить. чтоб не нарушать ход мысли.
Проект первый можете что-то подсказать, если есть лучшее решение
Полностью рабочий код не работает в winavr, где можно что изменить. чтоб не нарушать ход мысли.
Проект первый можете что-то подсказать, если есть лучшее решение
- Вложения
-
- ghj.c
- (7.72 КБ) 375 скачиваний
Re: WinAvr в вопросах и ответах
Самое лучшее для тебя сейчас решение найти крякнутый CVAVR,в чём проблем нет никаких.
А написание в этих компиляторах отличается примерно как русский от белорусского.
А написание в этих компиляторах отличается примерно как русский от белорусского.
-
evgeniyvictorov
- Родился
- Сообщения: 7
- Зарегистрирован: Пт авг 09, 2013 07:43:40
Re: WinAvr в вопросах и ответах
Я пытался найти но, что-то не получается, поэтому решение winavr. может есть у кого ссылка на крякнутый cvavr. у меня нет
Re: WinAvr в вопросах и ответах
Открою один секрет,только никому.Если что-то ищешь,то что очень необходимо в Интернете,то набираешь ссылку www.google.ru и в поле "поиск" пишешь буковками сабж.А в твоём случае "крякнутый cvavr".
-
evgeniyvictorov
- Родился
- Сообщения: 7
- Зарегистрирован: Пт авг 09, 2013 07:43:40
Re: WinAvr в вопросах и ответах
У меня есть версии 2.05 но там нет поддержки i2c, а я хочу еще кое что добавить
Re: WinAvr в вопросах и ответах
Всё там есть,можешь почитать книжку про CVAVR М.Б Лебедева,искать "секретным" способом.
-
evgeniyvictorov
- Родился
- Сообщения: 7
- Зарегистрирован: Пт авг 09, 2013 07:43:40
Re: WinAvr в вопросах и ответах
У меня есть куски готового кода на winavr, но не могу алготитм вывести работающий. постоянные проблемы,
недавно с битами разобрался, теперь надо оператор if переделать. Проект под tda7439 написан но не полностью, причины те же.
недавно с битами разобрался, теперь надо оператор if переделать. Проект под tda7439 написан но не полностью, причины те же.
-
evgeniyvictorov
- Родился
- Сообщения: 7
- Зарегистрирован: Пт авг 09, 2013 07:43:40
Re: WinAvr в вопросах и ответах
Думаю переписать весь код под winavr, с вашими поправками, решение уже принято надо под winavr делать
-
evgeniyvictorov
- Родился
- Сообщения: 7
- Зарегистрирован: Пт авг 09, 2013 07:43:40
Re: WinAvr в вопросах и ответах
Всем доброго дня. Посмотрите что не так, работает только с задержкой.
- Вложения
-
- tda7440.c
- (2.79 КБ) 386 скачиваний
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: WinAvr в вопросах и ответах
Избавляться нужно от тупых циклов типа while (pause&xxx ) как то нужно более изящно подходить к делу.
-
boogyman
- Первый раз сказал Мяу!
- Сообщения: 33
- Зарегистрирован: Ср дек 08, 2010 18:53:34
- Откуда: Москва
- Контактная информация:
Re: WinAvr в вопросах и ответах
Здравствуйте, помогите разобраться при каком условии выполняется действие
Код: Выделить всё
if((ADMUX&0x0F) == 1)
{
// действие
}
Re: WinAvr в вопросах и ответах
при условии, что из четырех младших бит в ADMUX установлен только нулевой, т.е. ADMUX имеет вид: XXXX0001, где X - не важно, что там.
-
boogyman
- Первый раз сказал Мяу!
- Сообщения: 33
- Зарегистрирован: Ср дек 08, 2010 18:53:34
- Откуда: Москва
- Контактная информация:
Re: WinAvr в вопросах и ответах
a_skr писал(а):при условии, что из четырех младших бит в ADMUX установлен только нулевой, т.е. ADMUX имеет вид: XXXX0001, где X - не важно, что там.
Т. е. (для atmega8) если включен канал ADC1, то выполняется действие
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: WinAvr в вопросах и ответах
Так то оно так, только зачем читать из этого регистра?
Может пойти по классической схеме?
типа
ADMUX= (ADMUX &0xF0)|(i);
delay();
adc[i++]=ADCH;
if(i>7) i =0;
Прямо как прописано в родной библиотеке CVAVR.
Может пойти по классической схеме?
типа
ADMUX= (ADMUX &0xF0)|(i);
delay();
adc[i++]=ADCH;
if(i>7) i =0;
Прямо как прописано в родной библиотеке CVAVR.
Re: WinAvr в вопросах и ответах
Помогите разобраться
Как присвоить значение с ноги одного порта на ногу другого?
В Codevisione все просто PORTC.1=PINB.2;
А как в WINAVre
Я уже голову сломал, гуглин нифига.
Спасибо, заранее.
Как присвоить значение с ноги одного порта на ногу другого?
В Codevisione все просто PORTC.1=PINB.2;
А как в WINAVre
Я уже голову сломал, гуглин нифига.
Спасибо, заранее.
- uni
- Встал на лапы
- Сообщения: 137
- Зарегистрирован: Пт дек 07, 2007 11:17:40
- Откуда: г. Екатеринбург
- Контактная информация:
Re: WinAvr в вопросах и ответах
Код: Выделить всё
#define CHECKBIT(x,y) ((x) & (1<<(y)))
CHECKBIT( PINB, 2 ) ? sbi( PORTC, 1 ) : cbi( PORTC, 1 );Россия навсегда!
- IM1
- Грызет канифоль
- Сообщения: 268
- Зарегистрирован: Вт фев 16, 2010 12:10:38
- Откуда: Воронеж, Россия
Re: WinAvr в вопросах и ответах
И, что, прям ЭТО работает в GCC?uni писал(а):Код: Выделить всё
#define CHECKBIT(x,y) ((x) & (1<<(y)))
CHECKBIT( PINB, 2 ) ? sbi( PORTC, 1 ) : cbi( PORTC, 1 );
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: WinAvr в вопросах и ответах
Ну если макросы sbi и cbi определены, то почему бы этому не работать ?