CodeVision AVR в вопросах и ответах
Ну почему же? Тот же AVRStudio открывает именно сишный код.
Docendo discimus
- Реклама
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Тот что написан в CVAVR? Или на AVRStudio.pyzhman писал(а):Ну почему же? Тот же AVRStudio открывает именно сишный код.
Я в просто в нём никогда не отлаживал - потому хочется узнать - есть ли смысл. Или придётся на другую среду переходить.
если вы не заметили,кв использует именно студию для отладки и симуляции кода.так что увы без студии никуда.
В поисках истины человек развивается.
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Нет, этоя понял. В студии он как , по Сишному коду или по асму отлаживается?vitalik_1984 писал(а):если вы не заметили,кв использует именно студию для отладки и симуляции кода.так что увы без студии никуда.
насколько я понял если код компилируется в КВ,то только в асм.Он ведь передает в студию прошивку,а студия всего лишь ее запускает вместо контроллера.
я пару раз только пробовал уже не помню,там вроде кнопка есть отладки.
я пару раз только пробовал уже не помню,там вроде кнопка есть отладки.
В поисках истины человек развивается.
- Реклама
Люди, говорят что студия не знает такого конроллера как Атмега8 ??

И ткните меня мордочкой пожалуйста, где почитать как прошивать контролер через AVR Dragon.
Я новичек с этими средствами и понять ни чего не могу.
И ткните меня мордочкой пожалуйста, где почитать как прошивать контролер через AVR Dragon.
Я новичек с этими средствами и понять ни чего не могу.
- Вложения
-
- CV Avr.jpg
- (205.04 КБ) 1362 скачивания
Последний раз редактировалось WolfTheGrey Вт май 15, 2012 22:53:33, всего редактировалось 2 раза.
Врут.

Проверить не судьба?
Проверить не судьба?
- Вложения
-
- mmm.JPG
- (21.14 КБ) 1018 скачиваний
Docendo discimus
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
А зачем Студии про это знать? Об этом программатор должен знать, которому Студия передает управление.WolfTheGrey писал(а):Люди, говорят что студия не знает такого конроллера как Атмега8 ??
И ткниме меня мордочкой пожалуйста, где почитать как прошивать контролер через AVR Dragon.
Я новичек с этими средствами и понять ни чего не могу.
Подключите Дракона, выберите его в списке программаторов, с которыми "знакома" студия, соединитесь с ним и уже там выбирайте тип МК.
С уважением,
Виктор.
Виктор.
Вам вообще то сказали что КВ не поддерживает прошивку контроллера мега8 через дракона, внимательнее надо быть.WolfTheGrey писал(а):Люди, говорят что студия не знает такого конроллера как Атмега8 ??
И ткнимте меня мордочкой пожалуйста, где почитать как прошивать контролер через AVR Dragon.
прошивать проще некуда если в студии.Нажимаете кнопку Connect или выбираете в меню Tools->Program AVR->Connect.
Выбираете из списка доступных устройств дракона и в новом окне уже можно выбрать скорость программирования и файлы которые нужно зашить.
Перед прошивкой обязательно нужно обновить программатор.Tools->AVR Dragon upgrade.
В поисках истины человек развивается.
Здравствуйте.
Что то я опять не так делаю.
Разобрался как прошивать, надо: Tols -> program AVR -> Auto connect. И там прочитать номер меги, выставить фьюзы, и прошить.
Все прошивается!
Вот только контролер не мурлыкает. (лампочками не подмигивает).
Еще я пытаюсь выставить: Oscillator Calibration Byte
Ставлю ему 4 мгц. а вот адрес во Flash не знаю какой. Адреса в епром не прокатывают.
Что то я опять не так делаю.
Разобрался как прошивать, надо: Tols -> program AVR -> Auto connect. И там прочитать номер меги, выставить фьюзы, и прошить.
Все прошивается!
Вот только контролер не мурлыкает. (лампочками не подмигивает).
Еще я пытаюсь выставить: Oscillator Calibration Byte
Ставлю ему 4 мгц. а вот адрес во Flash не знаю какой. Адреса в епром не прокатывают.
это не то что вы подумали точно.4 мгц для работы выставляется фьюзами, а не калибровочным байтом.
его лучше совсем не трогать,если не знаете для чего он.
его лучше совсем не трогать,если не знаете для чего он.
В поисках истины человек развивается.
- Сообщения: 190
- Зарегистрирован: Чт фев 24, 2011 13:00:49
Привет! Подскажите плз, каким образом в CVAVR, быстро записывать/считывать отдельный бит Atmega 128 с портов F и G? конструкция PORTF.3=0; не работает. Спасибо.
PORTF.3=0; это инструкция cbi в асм
если посмотреть таблицу регистров
можно увидеть,что порт ф лежит за пределами адресции (0x1f) данной команды и ей подобных
Регистры порта F
пользоваться функцией sts,lds
А в си это выглядит как
компилятор сам сделает обращение к нужным функциям.
если посмотреть таблицу регистров
можно увидеть,что порт ф лежит за пределами адресции (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
vitalik_1984 а разве накатывание маски на сам порт не прокатывает?
- Сообщения: 190
- Зарегистрирован: Чт фев 24, 2011 13:00:49
Попробовал так записать единицу в порт - PORTF&=~(1<<NBIT); , компилятор не заругался, однако проверка в протеусе показала, что после выполнения даного кода единица в порт не записывается. Может что еще забыл? ...порты F на выход и в нуле все.
Вот то что генерит CVAVR
Вот то что генерит 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:
в что по вашему происходит в моем примере?компилятор создает маску на основе выражения и накладывает ее на порт.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
установка бита
PORTF|=(1<<NBIT);
и учите азы си.а то даже не понимаете что происходит.
ссори...
ушел учить азы.
PORTF|=(1<<NBIT);
и учите азы си.а то даже не понимаете что происходит.
ссори...
- Сообщения: 1817
- Зарегистрирован: Пн ноя 29, 2010 15:58:43
добрый день,
подскажите как в СV поместить пару страниц ассемблера?
вот такой вариант не проходит:
#asm("sei
LDI A,$80
OUT ACSR,A
")
получается каждую строку надо начинать и #asm(" и завершать ") ?
подскажите как в СV поместить пару страниц ассемблера?
вот такой вариант не проходит:
#asm("sei
LDI A,$80
OUT ACSR,A
")
получается каждую строку надо начинать и #asm(" и завершать ") ?


