CodeVision AVR в вопросах и ответах
- ankrish
- Опытный кот
- Сообщения: 745
- Зарегистрирован: Сб май 21, 2011 10:37:37
- Откуда: Полоцк, Беларусь
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
я прошиваю Atmega8, Сom port3 выбран в настройках и программатор тоже в cjm3
{АРХИТЕКТОР}
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
Чей-то не хочется мне делать программатор и ставить CV чтобы узнать так или нет 
Попробуйте прошить из AVR Studio, увидит AVRprog ваш программатор или нет.
Попробуйте прошить из AVR Studio, увидит AVRprog ваш программатор или нет.
- ankrish
- Опытный кот
- Сообщения: 745
- Зарегистрирован: Сб май 21, 2011 10:37:37
- Откуда: Полоцк, Беларусь
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
я уже столько пререпробывал...
я бы програмировал например родной программой, которая входила в комплект с драйверами, но там нету некоторых фьюзов, может есть решение?
программа Avr910Usb_Prog
я бы програмировал например родной программой, которая входила в комплект с драйверами, но там нету некоторых фьюзов, может есть решение?
программа Avr910Usb_Prog
{АРХИТЕКТОР}
- ankrish
- Опытный кот
- Сообщения: 745
- Зарегистрирован: Сб май 21, 2011 10:37:37
- Откуда: Полоцк, Беларусь
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
усё здаюся...
...
программирование, видно- это не моё...
... программирование, видно- это не моё...
{АРХИТЕКТОР}
Re: CodeVision AVR в вопросах и ответах
Фуух...Все, сам разобрался. Всем спасибо за моральную поддержку. 

- totty
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср авг 03, 2011 22:26:02
- Откуда: Севастополь
Re: CodeVision AVR в вопросах и ответах
Добрый вечер, подскажите как для CW будет звучать данная строчка?
while ((ADCSRA&_BV(ADIF))==0x00) //Дождатся окончания преобразования
заранее благодарен
речь идет об АЦП меги 8
while ((ADCSRA&_BV(ADIF))==0x00) //Дождатся окончания преобразования
заранее благодарен
речь идет об АЦП меги 8
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
Добавьте в начало файла или заголовочный файл такую строку:
Код: Выделить всё
#define _BV(a) (1 << a)-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
правильнее так:BerZerK-ku писал(а):Добавьте в начало файла или заголовочный файл такую строку:Код: Выделить всё
#define _BV(a) (1 << a)
Код: Выделить всё
#define _BV(a) (1 << (a))битва с дураками проиграна, победители торжествуют. слава победителям!
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
Да и что надо туда пихать, чтобы понадобилась такая перестраховка ?!
Нашел макетку USB девайса, перекинул пару проводков, получил программатор. Поставил дрова, получил порт COM3. Запустил AVR Studio , в ней "Tools->AVR Prog..." заработало сразу )ankrish писал(а):усё здаюся......
программирование, видно- это не моё...
- totty
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср авг 03, 2011 22:26:02
- Откуда: Севастополь
Re: CodeVision AVR в вопросах и ответах
Спасибо, а вот если так while (ADCSRA.4==1)
вроде работает но правильно ли компилятор понимает такую запись?
в описании бит ADIF имеет 4 номер
что это вообще значит (я про эту конструкцию _BV(a) (1 << a) ) ? установить бит в единицу?
вроде работает но правильно ли компилятор понимает такую запись?
в описании бит ADIF имеет 4 номер
#define _BV(a) (1 << a)
что это вообще значит (я про эту конструкцию _BV(a) (1 << a) ) ? установить бит в единицу?
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
ADIF это тоже дефайн.
Директива #define используется для подмены констант, строк и т.д. подменяется на такое выражение:, что равнозначно
Если ваш компилятор не ругается на подобную запись, то конечно можно.
Директива #define используется для подмены констант, строк и т.д.
Код: Выделить всё
#define _BV(a) (1 << a)
PORTB = _BV(4);Код: Выделить всё
PORTB = (1 << 4)Код: Выделить всё
PORTB = 0x10Если ваш компилятор не ругается на подобную запись
Код: Выделить всё
ADCSRA.4==1- SubDia
- Держит паяльник хвостом
- Сообщения: 995
- Зарегистрирован: Сб апр 02, 2011 17:59:22
- Откуда: Город-герой Севастополь
Re: CodeVision AVR в вопросах и ответах
totty писал(а):что это вообще значит (я про эту конструкцию _BV(a) (1 << a) ) ? установить бит в единицу?
Да. Этот макрос, позаимствованный из WinAVR, устанавливает бит a в единицу. Точнее, макрос создает число с установленным битом a в единицу. Таким образом, можно производить установку или сброс с помощью битовых операций.
Код: Выделить всё
#define CLK 4 //PF4
#define DATA 5 //PF5
//----------
PORTF &= ~_BV(CLK); //сбросить бит CLK (4-й бит) порта F
PORTF |= _BV(DATA); //установить бит DATA (5-й бит) порта F
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

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

- ankrish
- Опытный кот
- Сообщения: 745
- Зарегистрирован: Сб май 21, 2011 10:37:37
- Откуда: Полоцк, Беларусь
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
BerZerK-ku , а можете описать вообще все ваши действия от начала до конца, начиня с открытия программы CodeVisionAVR ???
{АРХИТЕКТОР}
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
Можно, во-первых я его не устанавливал, а во-вторых не запускал
Проверял в AVR Studio.
Проверял в AVR Studio.
- totty
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Ср авг 03, 2011 22:26:02
- Откуда: Севастополь
Re: CodeVision AVR в вопросах и ответах
ADIF это тоже дефайн.
это не одно и тоже, ADIF это флаг регистра, указывающий что работа АЦП завершена
Всем спаибо за ответы
- ankrish
- Опытный кот
- Сообщения: 745
- Зарегистрирован: Сб май 21, 2011 10:37:37
- Откуда: Полоцк, Беларусь
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
BerZerK-ku писал(а):Можно, во-первых я его не устанавливал, а во-вторых не запускал![]()
Проверял в AVR Studio.
а ну да
{АРХИТЕКТОР}
- SubDia
- Держит паяльник хвостом
- Сообщения: 995
- Зарегистрирован: Сб апр 02, 2011 17:59:22
- Откуда: Город-герой Севастополь
Re: CodeVision AVR в вопросах и ответах
totty писал(а):это не одно и тоже, ADIF это флаг регистра, указывающий что работа АЦП завершена
BerZerK-ku имел в виду, что биту под номером 4 было присвоено имя ADIF с помощью директивы #define.
Код: Выделить всё
#define ADIF 4
- для удобочитаемости кода. Если же мы не напишем в хидере вышеприведенной строки, то препроцессор просто пошлет нас гулять лесом вместе со своим ADIFом. =)
Причем даже если я установлю бит ADIF в любом регистре, совершенно не имеющем отношения к АЦП, то компилятор ко мне претензий иметь не будет никаких, и бит в нужный момент будет устанавливаться.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

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

-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
как говорится, чтобы понять, почувствуйте разницу:BerZerK-ku писал(а)::)) почему же правильнее? Чем работа дефайнов будет отличаться в приведенном примере?
Код: Выделить всё
#define your_variant(x) (1<<x)
#define my_variant(x) (1<<(x))
int i = 2;
int your_result = your_variant(5+i);
int my_result = my_variant(5+i);битва с дураками проиграна, победители торжествуют. слава победителям!
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Re: CodeVision AVR в вопросах и ответах
А вы проверяли результат перед тем как это написать? Может это вас удивит, но оба варианта дают один результат
Может сами догадаетесь почему?
Может сами догадаетесь почему?