MAX7219

#335121
Lesenswert?

Hi,

in welcher Sprache programmierst Du?

In Assembler mit SW-SPI) habe ich es so gemacht:
Im Register tmp steht der zu übertragene Wert.
Der Load Pin muss nach der Übertragung eines Bytes einmal getoggelt
werden.
1
.if _useSWSPI==1 
2
SEND_SPIDATA:
3
  cbi  PORTB, SCKx    ; make sure clock is zero
4
  ldi  tmpstatus, 8   ; send 8 Bits
5
  ; Start transmission of data
6
TransmitBit:
7
  lsl  tmp
8
  brcc  SendZero
9
  sbi  PORTB, MOSIx  ; send "1"
10
  rjmp  SPICLOCK
11
SendZero:
12
  cbi  PORTB, MOSIx  ; send "0"
13
SPICLOCK:
14
  ; Do a clock cycle
15
  sbi  PORTB, SCKx
16
  nop
17
  cbi  PORTB, SCKx
18
  dec  tmpstatus
19
  brne  TransmitBit
20
  ret
21
.endif ;_useSWSPI==1

Gruss
Andreas
Gast #335123
Lesenswert?

hi Andreas Hesse

Danke erst mal.

Also ich hab den ATMEGA8535 mit 16 MHz. AN PD6 ist Din, an PD5 ist CLK
und an PD4 ist LOAD angeschlossen.
Leider zeigt mir der MAX7219 nichts an.

Ich hab jetzt aus den Infos die ich hier bekommen hab eine Init
zusammengestellt. Eigentlich sollte der MAX im Testmode laufen, also
alles leuchten.

Bitte helft mir.

mfg
Angehängte Dateien:

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