R
reddster
Guest
Hei kaikille!
Olen opiskelija, joilla on meneillään hanke, joka liittyy rajapinnat
on PIC16F877 joka vaiheen lukittu loop laite (ADF4360 -
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Viileä" border="0" />
käyttäen SPI.
Pohjimmiltaan Minun täytyy lähettää kautta SDO, 3 eriä 24 bittejä
laitteen initialise sitä.Olen huolissani siitä, että voisin jättää muutaman rivin
koodia, koska en voinut havaita SCK signaali sen SCK nastainen (RC3).
Lisäksi teen sen oikein, että alustus on SSPSTAT, SSPCON
ja lähettävän osa?
Olen täysin teidän apuanne!
Tämä on minun koodi C-kieli:#
include <pic1687x.h>
#
include "delay.c"mitätön tärkeimmät () (PORTA = 0x00;
PORTB = 0x00;
PORTC = 0x00;
PORTD = 0x00;
PORTE = 0x00;
TRISC = 0b00010000; / / RC4 = SPI tiedot
TRISD = 0x00;
TRISB = 0b00000001; / / RB0 = tulo
TRISA = 0x00;
TRISE = 0x00;/ / initialise PLL
/ / R counter = 0011 0000 0000 0000 0111 1001
/ /
Ohjaus linkku = 0000 1111 1111 0001 0000 0100
/ / N counter = 0000 0000 1011 0100 0000 0010SSPSTAT = 0b01000000;
SSPCON = 0b00100010;
SSPBUF = 0b00110000; / / R counter
SSPBUF = 0b00000000;
SSPBUF = 0b01111001;
RA5 = 1; / / LE korkea siirtää siirtää rekisteristä salpa
RA5 = 0;
SSPBUF = 0b00001111; / /
OhjausSSPBUF = 0b11110001;
SSPBUF = 0b00000100;
RA5 = 1; / / LE korkea siirtää siirtää rekisteristä salpa
RA5 = 0;
DelayMs (20); / / välinen viive valvontavaliokunnan ja N Counter
SSPBUF = 0b00000000; / / N Counter
SSPBUF = 0b10110100;
SSPBUF = 0b00000010;
RA5 = 1; / / LE korkea siirtää siirtää rekisteristä salpa
RA5 = 0;while (1) (
if (RB0 == 1) / / Kun RB0 on korkea, vedä CE nastainen korkea päälle PLL
RC1 = 1;
if (RB0 == 0) / / Kun RB0 on alhainen, vedä CE nastainen alhainen sammuttaa PLL
RC1 = 0;
)
) / /
End tärkeimmistäKiitos vielä kerran!
Olen opiskelija, joilla on meneillään hanke, joka liittyy rajapinnat
on PIC16F877 joka vaiheen lukittu loop laite (ADF4360 -
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Viileä" border="0" />
käyttäen SPI.
Pohjimmiltaan Minun täytyy lähettää kautta SDO, 3 eriä 24 bittejä
laitteen initialise sitä.Olen huolissani siitä, että voisin jättää muutaman rivin
koodia, koska en voinut havaita SCK signaali sen SCK nastainen (RC3).
Lisäksi teen sen oikein, että alustus on SSPSTAT, SSPCON
ja lähettävän osa?
Olen täysin teidän apuanne!
Tämä on minun koodi C-kieli:#
include <pic1687x.h>
#
include "delay.c"mitätön tärkeimmät () (PORTA = 0x00;
PORTB = 0x00;
PORTC = 0x00;
PORTD = 0x00;
PORTE = 0x00;
TRISC = 0b00010000; / / RC4 = SPI tiedot
TRISD = 0x00;
TRISB = 0b00000001; / / RB0 = tulo
TRISA = 0x00;
TRISE = 0x00;/ / initialise PLL
/ / R counter = 0011 0000 0000 0000 0111 1001
/ /
Ohjaus linkku = 0000 1111 1111 0001 0000 0100
/ / N counter = 0000 0000 1011 0100 0000 0010SSPSTAT = 0b01000000;
SSPCON = 0b00100010;
SSPBUF = 0b00110000; / / R counter
SSPBUF = 0b00000000;
SSPBUF = 0b01111001;
RA5 = 1; / / LE korkea siirtää siirtää rekisteristä salpa
RA5 = 0;
SSPBUF = 0b00001111; / /
OhjausSSPBUF = 0b11110001;
SSPBUF = 0b00000100;
RA5 = 1; / / LE korkea siirtää siirtää rekisteristä salpa
RA5 = 0;
DelayMs (20); / / välinen viive valvontavaliokunnan ja N Counter
SSPBUF = 0b00000000; / / N Counter
SSPBUF = 0b10110100;
SSPBUF = 0b00000010;
RA5 = 1; / / LE korkea siirtää siirtää rekisteristä salpa
RA5 = 0;while (1) (
if (RB0 == 1) / / Kun RB0 on korkea, vedä CE nastainen korkea päälle PLL
RC1 = 1;
if (RB0 == 0) / / Kun RB0 on alhainen, vedä CE nastainen alhainen sammuttaa PLL
RC1 = 0;
)
) / /
End tärkeimmistäKiitos vielä kerran!