MCP4922 SPI Datenübertragung klappt nicht

Gast #1770581
Lesenswert?
• ▲
▼
Hallo zusammen,
ich weiß nicht mehr weiter, kann mir vllt jemand helfen? Versuch mit dem 
MCP4922 eine Analoge spannung auszugeben aber es scheitert an der SPI 
übertragung.

Programm bis jetzt:

Pinclock Alias Portb.7
Pin Alias Portb.5
Config Portd.7 = Output
Config Portb.6 = Output

CS Alias Portd.7
CS = 1
Ldac Alias Portb.6
LDAC = 1

Dim X As Byte
X = 255

Do
CS = 0
Shiftout Pin , Pinclock, X , 1
Ldac = 0
Ldac = 1
CS = 1
Waitms 10
loop

kann mir jemand sagen was ich falsch mache?
mfg
#1770629
Lesenswert?
• ▲
▼
Ldac zu kurz gesetzt?

Ansonsten guck mal ob Daten rauskommen - setz mal X=55(hex), laß die 
waitms 10 weg, miß die Spannung am Pin (ggf. mit Widerstand und 
Kondensator glätten) / sollte knapp die Hälfte der Betriebsspannung 
rauskommen. Oder einfacher mit dem Oszi gucken, ob Clock und Daten 
'rauskommen / sofern vorhanden.
Gast #1770789
Lesenswert?
• ▲
▼
Ok, hab jetzt

Do
CS = 0
Shiftout Pin , Pinclock, X , 1
Ldac = 0
Waitms 5
Ldac = 1
CS = 1
loop

Am Mosi messe ich 2,60V wenn ich 55Hex ausgeben, das sollte also 
hinkommen.
Trotzdem klappt es nicht,
Hab den Aref auf 5V gelegt, verdrahtung hab ich auch schon öfters 
überprüft...
mhh weiß sonst jemand ne fehler möglichkeit?
Gast #1770905
Lesenswert?
• ▲
▼
$regfile = "m32def.dat"                                     ' specify 
the used micro
$crystal = 8000000                                          ' used 
crystal frequency
$baud = 4800

Config Spi = Soft , Din = None , Dout = Portb.5 , Ss = None , Clock = 
Portb.7
Config Portd.7 = Output

Portd.7 = 1


Dim Var(4) As Byte

Var(1) = &B00001111
Var(2) = &B11111111
Var(3) = &B00001111
Var(4) = &B11111111
Spiinit

Do
Portd.7 = 0
Spiout Var(1) , 4
Portd.7 = 1                                                 'send 1 byte
Waitms 10


Jetziger Code
Loop

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.