define in AVR Studio ?

Gast #99583
Lesenswert?
• ▲
▼
Gibt es in AVRStudio Assembler eine directive mit der man z.B. portb.1
eine Bezeichnung geben kann ? Ich verwende so viele Bitfunktionen, da
komme ich immer durcheinander und so wäre es einfacher...
z.B.

define Clk = portb.0
define CE = portb.1
define WR = portb.2

In der Hilfe steht nur .equ (Zweisung von Zahlen) und .set (ist
irgendwie daselbe wie .equ oder habe ich da was falsch verstanden ?
Gast #99585
Lesenswert?
• ▲
▼
Dachte ich auch, geht aber nicht:

Including  'C:\Programme\Atmel\AVR
Tools\AvrAssembler\AppNotes\8515def.inc'
C:\Programme\Atmel\AVR Tools\AvrStudio4\VideoGenerator.asm(73) :
error : Argument(s) missing or illegally delimited
C:\Programme\Atmel\AVR Tools\AvrStudio4\VideoGenerator.asm(74) :
error : Argument(s) missing or illegally delimited
C:\Programme\Atmel\AVR Tools\AvrStudio4\VideoGenerator.asm(78) :
error : Argument(s) missing or illegally delimited
C:\Programme\Atmel\AVR Tools\AvrStudio4\VideoGenerator.asm(81) :
error : Argument(s) missing or illegally delimited


.equ A8 = portb.0
.equ DSF = portb.1
.equ SEna = portb.2
.equ W = portb.3
.equ R = portb.4

.equ RSel0 = portc.0
.equ RSel1 = portc.1

Zeile 73ff:

cbi RSel0
sbi RSel1
out Daten, voll
nop
nop
cbi W
nop
nop
sbi W
nop
nop
Gast #99586
Lesenswert?
• ▲
▼
So wirds auch nicht gehen. Es ist leider nicht vergleichbar mit dem
C-Präprozessor.

Hier mal ein Beispiel aus meinem Code:


.equ DISP_IO        = PORTB
.equ DISP_IO_DDR    = DDRB
.equ DISP_IO_PIN    = PINB

.equ DISP_IO_DATA    = 0
.equ DISP_IO_CLK     = 1

.equ DISP_IO_MASK  = 0b00000011


.equ DISP_CTL       = PORTB
.equ DISP_CTL_DDR   = DDRB
.equ DISP_CTL_PIN   = PINB

.equ DISP_CTL_CS    = 2
.equ DISP_CTL_E     = 3
.equ DISP_CTL_RW    = 4
.equ DISP_CTL_DI    = 5
.equ DISP_CTL_RESET = 6

.equ DISP_CTL_MASK  = 0b01111100


in R16, DISP_IO_DDR  ;IO-Port als Ausgang deklarieren
ori R16, DISP_IO_MASK
out DISP_IO_DDR, R16

in R16, DISP_CTL_DDR  ;CTL-Port als Ausgang deklarieren
ori R16, DISP_CTL_MASK
out DISP_CTL_DDR, R16

...

;Enable togglen
sbi DISP_CTL, DISP_CTL_E
cbi DISP_CTL, DISP_CTL_E

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren