T
tension885
Guest
hej,
Jeg vil slutte min AT89c51 med en SPI slave (denne slave støtter SPI mode 0,0).siden AT89c51 har ingen hardware baseret SPI, så jeg er nødt til at gøre programmeringen i software til SPI master.
Jeg viser dig SPI rutiner for SPI master.but Jeg er forvirret over SPI transportformer.
Jeg har brug for nogle retningslinjer .... venligst fortælle mig, at
er denne kode korrekt??dvs Kan det kommunikere med SPI slave (støtteprogram mode 0,0)??
behage hjælp mig sin meget meget presserende
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Gråd eller meget trist" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Gråd eller meget trist" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Gråd eller meget trist" border="0" />
: cry
30 point, vil blive belønnet for at hjælpe
Code:
# include <reg51.h>sbit miso = P2 ^ 0;
sbit mosi = P2 ^ 1;
sbit CLK = P2 ^ 3 / / ur = 0 i starten
sbit cs = P2 ^ 2;void spi_write (usignerede CHAR dat)
(usignerede CHAR I, c;c = dat;
for (i = 0; i <8; i )
(
hvis ((C & 0x80) == 0x80)
mosi = 1;
anden
mosi = 0;CLK = 1;
c = c <<1;
CLK = 0;
)
)
usignerede CHAR spi_read ()
(usignerede CHAR I, dat;for (i = 0; i <8; i )
(
dat = dat <<1;
CLK = 1;
if (miso)
dat = dat 1;
CLK = 0;
)
tilbagevenden dat;
)/ / du fyre gennemgå min kode og hjælpe mig
Jeg vil slutte min AT89c51 med en SPI slave (denne slave støtter SPI mode 0,0).siden AT89c51 har ingen hardware baseret SPI, så jeg er nødt til at gøre programmeringen i software til SPI master.
Jeg viser dig SPI rutiner for SPI master.but Jeg er forvirret over SPI transportformer.
Jeg har brug for nogle retningslinjer .... venligst fortælle mig, at
er denne kode korrekt??dvs Kan det kommunikere med SPI slave (støtteprogram mode 0,0)??
behage hjælp mig sin meget meget presserende
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Gråd eller meget trist" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Gråd eller meget trist" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Gråd eller meget trist" border="0" />
: cry
30 point, vil blive belønnet for at hjælpe
Code:
# include <reg51.h>sbit miso = P2 ^ 0;
sbit mosi = P2 ^ 1;
sbit CLK = P2 ^ 3 / / ur = 0 i starten
sbit cs = P2 ^ 2;void spi_write (usignerede CHAR dat)
(usignerede CHAR I, c;c = dat;
for (i = 0; i <8; i )
(
hvis ((C & 0x80) == 0x80)
mosi = 1;
anden
mosi = 0;CLK = 1;
c = c <<1;
CLK = 0;
)
)
usignerede CHAR spi_read ()
(usignerede CHAR I, dat;for (i = 0; i <8; i )
(
dat = dat <<1;
CLK = 1;
if (miso)
dat = dat 1;
CLK = 0;
)
tilbagevenden dat;
)/ / du fyre gennemgå min kode og hjælpe mig