|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 12:38 am
Проблем при програмиране на атмега16
| Автор |
Съобщение |
|
tiger
Ранг: Минаващ
Регистриран на: Нед Мар 04, 2007 10:21 pm Мнения: 70
|
Идеята беше процесора да направи нещо за 1 такт, безз то да се отрази някъде. До днес не бях чувал за nop(). A защо на AVR студио ми дава грешка "undefined reference to `nop'"?
|
| Пон Мар 31, 2008 9:06 am |
|
 |
|
VSU
Ранг: Напреднал
Регистриран на: Нед Авг 14, 2005 1:08 pm Мнения: 433 Местоположение: Казанлък
|
провери в компилатора който ползваш как се ползва този ноп
при някои са направени като макроси при други с асемблерски команди
при AVR Studio
само
nop
без скоби
при CodeVisonAVR
Inline assembly may also be used.
Example:
#asm("nop")
In order to use multiple instructions in inline assembly, the \ separator is required.
Example:
#asm("nop\nop\nop")
or
#asm
nop
nop
#endasm
|
| Пон Мар 31, 2008 10:57 am |
|
 |
|
tiger
Ранг: Минаващ
Регистриран на: Нед Мар 04, 2007 10:21 pm Мнения: 70
|
Даже и без скоби дава nop undeclared.
Вмъкването на асемблерски код стана така asm("nop":: );
А как се оправяте с help-а на avr studio-то?
Например при visual studio си има търсачка и като търсиш има описание на функциите и примери. При хелпа на AVRStudio няма търсачка
Последна промяна tiger на Вто Апр 01, 2008 9:49 am, променена общо 1 път
|
| Пон Мар 31, 2008 8:56 pm |
|
 |
|
VSU
Ранг: Напреднал
Регистриран на: Нед Авг 14, 2005 1:08 pm Мнения: 433 Местоположение: Казанлък
|
Avr Studio :
.include "m16def.inc"
.def temp =r16 ; Define temporary variable
.def rtmp =r17
rjmp RESET ;Reset Handle
RESET:
;***** Initialize stack pointer
;* Initialize stack pointer to highest address in internal SRAM
;* Comment out for devices without SRAM
ldi r16,high(RAMEND) ;High byte only required if
out SPH,r16 ;RAM is bigger than 256 Bytes
ldi r16,low(RAMEND)
out SPL,r16
ldi temp,$ff
out PORTD,temp ; Set all pins at port D high
out DDRD,temp ; Set port D as output
ser rtmp
forever:
in temp,PIND
eor temp,rtmp
out PORTD,temp ; Put the character onto Port B
nop
rjmp forever ;eternal loop
|
| Вто Апр 01, 2008 12:14 am |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 5 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|