problem i interfacing cc2500 til på 89c2051

M

microlab

Guest
Hej,

Jeg bruger følgende:

processor: AT89C2051
Crystal: 11.0592 MHZ
RF IC: cc2500
pull up modstand: 4.k

Jeg er ikke i stand til at skrive og læse fra konfigurerbare registre, kan alle give et fingerpeg?

Tak

ml
si EQU p1.7
SCL EQU p1.6
så EQU p1.5
cs EQU p1.4
førte EQU p3.5

org 0000h
mov p1, # 0ffh
CLR ledede
CLR SCL
CLR cs
JB således, $
setb ledede
mov a, # 10H
CLR c
mov R0, # 8
sendx: rlc en
CPL SCL; 1
mov si, c
CPL SCL; 0
djnz R0, sendx
NOP
mov R1, # 8
recx: CPL SCL; 1
mov c, så
rlc en
CPL SCL; 0
djnz r1, recx
setb SCL
NOP
setb cs
mov r3, en
igen: ledede CLR
acall forsinkelse
setb ledede
djnz r3, igen
sjmp $

 
Måske skulle du skrive en skematisk?
Du skal bruge kode tags, når udstationering kode.
Det er virkelig svært at læse din kode ellers.

Prøv denne SPI-kode:
Kode:; SPI_Transfer SPI_MODE1

, sender og modtager en byte samtidig i accSPI_Transfer:

MOV R7, # 08H; Load R7 at tælle bits

SPI_Loop:

SETB SCK; klokken Høj

RLC A; Roter MSB i Carry Bit

MOV mosi, C; Flyt smule ud til mosi

CLR SCK; klokken Lav

MOV C, miso, Flyt miso i Carry Bit

DJNZ R7, SPI_Loop; Loop for en anden smule indtil gjortRLC A; Roter Carry Bit i A

RET; Retur fra rutinemæssige
 
Hej,

bortset fra hvad der bliver sagt.Du behøver ikke fortælle, hvad du forsøger at opnå i kodestykket, som rent faktisk ville øge chancen for at få effektiv hjælp.Du kan fx sige: Jeg vil læse registrere $ 10 trough SPI.Første cyklus sender den adresse, andet læser indholdet af registrene.

Tilfældigt jeg for nylig gjorde nogle CC1050 programmering.Jeg kan se, at du indstiller RW bit (B7) til 0, som betyder "skrive" også med CC2500, tror jeg.Derfor bør du ikke forvente at læse alle data fra registret.

Hilsen,
Frank

 

Welcome to EDABoard.com

Sponsor

Back
Top