hier kurz eine demo mit fastavr , mit asm als sub und wert einlesen als zahl , weiterhin eine sub und wert einlesen als übergebene variable.
hier sieht man auch, wie klar die programmierdisziplin ist.
es wird die gleiche disziplin verlangt wie bei winavr-c, darum ist fastavr-basic auch genause schnell wie winavr-c, wie ich festgestellt habe.
man braucht nur einmal den asm-code gegenüberstellen. fast kein unterschied.
mfg pebisoft
Code:
$Device= m16
$Stack = 32
$Clock = 8
$Baud = 19200
$Source= On
Dim wert As Byte
Dim wert_adr As Word
Dim wert_1 As Byte
Dim wert_adr_1 As Word
Declare Sub test()
Declare Sub test_1()
wert_adr=VarPtr(wert) ' adr der variable im sram
wert_adr_1=VarPtr(wert_1)
wert_1=123
Do
test()
Print wert
WaitMs 250
test_1()
Print wert
WaitMs 250
Loop
End
' können auch in einer sub declariert werden
$Asm
.def pebi_1=r24
$EndAsm
' zahl 77 direkt einlesen
Sub test()
$Asm
ldi pebi_1,77
STS wert, pebi_1
$EndAsm
End Sub
' wert_1 als variable einlesen
Sub test_1()
$Asm
lds pebi_1,wert_1
STS wert, pebi_1
$EndAsm
End Sub
Lesezeichen