Ich hab auch mal in Code erstellt nur leider Funktioniert der nicht so wie ich will
Code:
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 14745600
$baud = 9600
Config Portb.1 = Output 'start
Config Portb.2 = Output 'sin
Config Portb.3 = Output 'load
Config Portb.4 = Output 'reset
Config Portb.5 = Output 'xck
Config Porta.2 = Input 'read
Config Porta.3 = Input 'Vout (Adc3)
_start Alias Portb.1
_sin Alias Portb.2
_load Alias Portb.3
_reset Alias Portb.4
_takt Alias Portb.5
_read Alias Porta.2
_vout Alias Porta.3
_takt = 0
_reset = 1
_start = 0
_load = 0
_read = 1
_vout = 1
'########## Variablen ###############
Dim A As Byte , B As Byte , I As Byte , C As Byte
Dim Start_register As Byte
Dim Register_address(8) As Byte
Dim Register_value(8) As Byte
Register_address(1) = &B000
Register_address(2) = &B001
Register_address(3) = &B010
Register_address(4) = &B011
Register_address(5) = &B100
Register_address(6) = &B101
Register_address(7) = &B110
Register_address(8) = &B111
Register_value(1) = &B10000000
Register_value(2) = &B00001110
Register_value(3) = &B00000110
Register_value(4) = &B00000000
Register_value(5) = &B00000001
Register_value(6) = &B00000000
Register_value(7) = &B00000000
Register_value(8) = &B00000111
Start_register = 1
Start Adc
Wait 1
'########## RESET durchführen ########
_reset = 0
Waitus 1
_takt = 1
Waitus 1
_reset = 1
Waitus 1
_takt = 0
Waitus 1
'######### Register laden ############
For I = 1 To 8
For A = 2 To 0 Step -1
_sin = Register_address(i).a
Waitus 1
_takt = 1
Waitus 1
_takt = 0
Next A
For B = 7 To 0 Step -1
_sin = Register_value(i).b
Waitus 1
_takt = 1
Waitus 1
If B = 0 Then _load = 1
Waitus 1
_takt = 0
Next B
Waitus 1
_load = 0
Next I
_sin = 0
Waitus 1
'######### starten des bildes ##########
_start = 1
_takt = 1
Waitus 1
_takt = 0
_start = 0
Do
_takt = 1
Waitus 1
_takt = 0
Waitus 1
Loop Until _read = 1
Print "Bild kommt"
Do
_takt = 1
Waitus 1
_takt = 0
Waitus 1
'C = Getadc(3)
'Print C
Loop Until _read = 0
Do
Print "Bild zuende"
Loop
End
Der READ Pin geht zwar auf High aber nicht wieder zurück? An was kann das liegen?
//EDIT
Hab es jetzt endlich hinbekommen es lag an der _read Belegung. Habe _read als PORTA.2 definiert stat PINA.2.
leider gekomme ich immer nur 255 raus. Kann das am langsamen ADC liegen?. Habe die Register schon mal geändert ohne erfolg.
//EDIT 2
Hab es jetzt hin gekommen. Ich habe bei der ADC Config noch Reference = Avcc hinzugefügt und ein wenig mit den Registern gespielt.
Hab hier vielleicht eine Idee wie ich das ganze leicht am PC als Bild ausgeben kann??
Lesezeichen