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

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Ну почему же? Тот же AVRStudio открывает именно сишный код.
Docendo discimus
Контактная информация:
Реклама
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

pyzhman писал(а):Ну почему же? Тот же AVRStudio открывает именно сишный код.
Тот что написан в CVAVR? Или на AVRStudio.
Я в просто в нём никогда не отлаживал - потому хочется узнать - есть ли смысл. Или придётся на другую среду переходить.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

если вы не заметили,кв использует именно студию для отладки и симуляции кода.так что увы без студии никуда.
В поисках истины человек развивается.
Контактная информация:
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Сообщение demiurg301 »

vitalik_1984 писал(а):если вы не заметили,кв использует именно студию для отладки и симуляции кода.так что увы без студии никуда.
Нет, этоя понял. В студии он как , по Сишному коду или по асму отлаживается?
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

насколько я понял если код компилируется в КВ,то только в асм.Он ведь передает в студию прошивку,а студия всего лишь ее запускает вместо контроллера.
я пару раз только пробовал уже не помню,там вроде кнопка есть отладки.
В поисках истины человек развивается.
Контактная информация:
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 370
Зарегистрирован: Вс май 06, 2012 09:58:33
Откуда: Магадан

Сообщение WolfTheGrey »

Люди, говорят что студия не знает такого конроллера как Атмега8 ??
Изображение
И ткните меня мордочкой пожалуйста, где почитать как прошивать контролер через AVR Dragon.
Я новичек с этими средствами и понять ни чего не могу.
Вложения
CV Avr.jpg
(205.04 КБ) 1362 скачивания
Последний раз редактировалось WolfTheGrey Вт май 15, 2012 22:53:33, всего редактировалось 2 раза.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Врут.
Изображение
Проверить не судьба?
Вложения
mmm.JPG
(21.14 КБ) 1018 скачиваний
Docendo discimus
Контактная информация:
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Сообщение ut1wpr »

WolfTheGrey писал(а):Люди, говорят что студия не знает такого конроллера как Атмега8 ??

И ткниме меня мордочкой пожалуйста, где почитать как прошивать контролер через AVR Dragon.
Я новичек с этими средствами и понять ни чего не могу.
А зачем Студии про это знать? Об этом программатор должен знать, которому Студия передает управление.
Подключите Дракона, выберите его в списке программаторов, с которыми "знакома" студия, соединитесь с ним и уже там выбирайте тип МК.
С уважением,
Виктор.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

WolfTheGrey писал(а):Люди, говорят что студия не знает такого конроллера как Атмега8 ??
И ткнимте меня мордочкой пожалуйста, где почитать как прошивать контролер через AVR Dragon.
Вам вообще то сказали что КВ не поддерживает прошивку контроллера мега8 через дракона, внимательнее надо быть.
прошивать проще некуда если в студии.Нажимаете кнопку Connect или выбираете в меню Tools->Program AVR->Connect.
Выбираете из списка доступных устройств дракона и в новом окне уже можно выбрать скорость программирования и файлы которые нужно зашить.
Перед прошивкой обязательно нужно обновить программатор.Tools->AVR Dragon upgrade.

:facepalm: Опять офф топ какой то выходит...
В поисках истины человек развивается.
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 370
Зарегистрирован: Вс май 06, 2012 09:58:33
Откуда: Магадан

Сообщение WolfTheGrey »

Здравствуйте.
Что то я опять не так делаю.
Разобрался как прошивать, надо: Tols -> program AVR -> Auto connect. И там прочитать номер меги, выставить фьюзы, и прошить.
Все прошивается!
Вот только контролер не мурлыкает. (лампочками не подмигивает).
Еще я пытаюсь выставить: Oscillator Calibration Byte
Ставлю ему 4 мгц. а вот адрес во Flash не знаю какой. Адреса в епром не прокатывают.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

это не то что вы подумали точно.4 мгц для работы выставляется фьюзами, а не калибровочным байтом.
его лучше совсем не трогать,если не знаете для чего он.
В поисках истины человек развивается.
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 190
Зарегистрирован: Чт фев 24, 2011 13:00:49

Сообщение wellcom »

Привет! Подскажите плз, каким образом в CVAVR, быстро записывать/считывать отдельный бит Atmega 128 с портов F и G? конструкция PORTF.3=0; не работает. Спасибо.
:solder: 32-х ядерный процессор из П213В
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

PORTF.3=0; это инструкция cbi в асм
если посмотреть таблицу регистров
можно увидеть,что порт ф лежит за пределами адресции (0x1f) данной команды и ей подобных
Регистры порта F
ATmega128-Register Summary писал(а): 2. Some of the status flags are cleared by writing a logical one to them. Note that the CBI and SBI instructions will operate on
all bits in the I/O register, writing a one back into any flag read as set, thus clearing the flag. The CBI and SBI instructions
work with registers $00 to $1F only.
для доступа к этим регистрам нужно
пользоваться функцией sts,lds
А в си это выглядит как

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

#define NBIT 3
PORTF&=~(1<<NBIT);
 
компилятор сам сделает обращение к нужным функциям.
Последний раз редактировалось vitalik_1984 Вс май 20, 2012 00:23:30, всего редактировалось 1 раз.
В поисках истины человек развивается.
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 190
Зарегистрирован: Чт фев 24, 2011 13:00:49

Сообщение wellcom »

СПАСИБО, :beer: , буду пробовать!
:solder: 32-х ядерный процессор из П213В
Грызет канифоль
Аватара пользователя
Сообщения: 262
Зарегистрирован: Пт окт 30, 2009 22:33:56
Откуда: Санкт-Петербург

Сообщение Alex_Megavolt_79 »

vitalik_1984 а разве накатывание маски на сам порт не прокатывает?
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 190
Зарегистрирован: Чт фев 24, 2011 13:00:49

Сообщение wellcom »

Попробовал так записать единицу в порт - PORTF&=~(1<<NBIT); , компилятор не заругался, однако проверка в протеусе показала, что после выполнения даного кода единица в порт не записывается. Может что еще забыл? ...порты F на выход и в нуле все.
Вот то что генерит CVAVR

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

; 0000 00C2       // Place your code here
; 0000 00C3 
; 0000 00C4                 PORTF&=~(1<<NBIT); //kode
	LDS  R30,98
	ANDI R30,0XF7
	STS  98,R30
; 0000 00C5       }
	RJMP _0x3
; 0000 00C6 }
_0x6:
	RJMP _0x6

	.CSEG

	.CSEG
;END OF CODE MARKER
__END_OF_CODE:
:solder: 32-х ядерный процессор из П213В
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

Alex_Megavolt_79 писал(а):vitalik_1984 а разве накатывание маски на сам порт не прокатывает?
в что по вашему происходит в моем примере?компилятор создает маску на основе выражения и накладывает ее на порт.
wellcom писал(а): Попробовал так записать единицу в порт - PORTF&=~(1<<NBIT); , компилятор не заругался, однако проверка в протеусе показала, что после выполнения даного кода единица в порт не записывается.
разве ваша конструкция
wellcom писал(а):конструкция PORTF.3=0; не работает. Спасибо.
должна была установить бит в порту?

установка бита
PORTF|=(1<<NBIT);
и учите азы си.а то даже не понимаете что происходит.

Кто не понял :
LDS R30,98 ; тут загружается регистр PORTF (адрес 0x62 =98 десятичной) в РОН R30
ANDI R30,0XF7 ;тут применяется маска (0XF7 = 0b11110111)
STS 98,R30; все это добро обратно из РОН R30 в регистр PORTF
Последний раз редактировалось vitalik_1984 Вс май 20, 2012 23:26:29, всего редактировалось 1 раз.
В поисках истины человек развивается.
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 190
Зарегистрирован: Чт фев 24, 2011 13:00:49

Сообщение wellcom »

установка бита
PORTF|=(1<<NBIT);
и учите азы си.а то даже не понимаете что происходит.

ссори... :oops: :oops: :oops: ушел учить азы.
:solder: 32-х ядерный процессор из П213В
Мудрый кот
Аватара пользователя
Сообщения: 1817
Зарегистрирован: Пн ноя 29, 2010 15:58:43

Сообщение igor-x »

добрый день,
подскажите как в СV поместить пару страниц ассемблера?
вот такой вариант не проходит:
#asm("sei
LDI A,$80
OUT ACSR,A
")

получается каждую строку надо начинать и #asm(" и завершать ") ?
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

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

#asm
.
.
.
#endasm
Docendo discimus
Контактная информация:
Ответить

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