S
Strallows
Guest
Hei
Ensinnäkin haluan kiittää teitä siitä, että ensimmäisen luokan foorumi, että olette täällä, ja jos saan haluaisin aloittaa läsnäolostani tätä kysymystä.
I Yritän työskennellä yhdessä I2C protokolla, joka dspic30F6012a ja siltä osin voin t saavuttaa minun intension.Olen lukenut koko osassa I2C alkaen tekninen ja dspic30F6021a ja näyttää siltä, niin helppo panna I2C työhön, että mielestäni minun salaperäisyydestä on erittäin helppo paikalla sinua.
Aion yrittää antaa niin paljon info minun sekainen hankkeeseen.
Minulla on dspic30F6012a kanssa 24MHz kristalli, joka PICkit2 ohjelmoija, ja olen käyttäen MPLAB8.20.C30 kääntäjään ja koodi, että olen avulla on esimerkki siitä C30 kääntäjään Kieli Työkalut Kirjastot asiakirja pag 192.Olen käyttäen logiikka-analysaattorin alkaen PICkit2 ja olen yrittänyt sen kanssa o-kattavuus kuin hyvin, lukemisen ja SDA ja SCL porttien 36 ja 37.
Oma koodi on vain näin että C30:
Code:# define __dsPIC30F6012a__
# include <p30f6012a.h>
# include <string.h>
# include <stdio.h>/ / C30
# include <i2c.h>/ / config
_FOSC (CSW_FSCM_OFF & HS);
_FWDT (WDT_OFF);
_FBORPOR (PBOR_OFF & MCLR_DIS);
_FBS (CODE_PROT_OFF);
_FSS (CODE_PROT_OFF);
_FGS (CODE_PROT_OFF);
_FICD (ICS_NONE);int main () (unsigned int config2, config1;
unsigned char * wrptr;
unsigned char tx_data [] =
( 'M', 'I', 'C', 'R', 'O', 'C', 'H', 'I', 'P', '\ 0');
wrptr = tx_data;TRISBbits.TRISB12 = 0; / / config tuotos LED
/ / Baude korko on asetettu 100 kHz
config2 = 218;
/ / Määritä I2C 7 bittinen osoite tilassa
config1 = (I2C_ON & I2C_IDLE_CON & I2C_CLK_HLD
& I2C_IPMI_DIS & I2C_7BIT_ADD
& I2C_SLW_DIS & I2C_SM_DIS &
I2C_GCALL_DIS & I2C_STR_DIS &
I2C_NACK & I2C_ACK_DIS & I2C_RCV_DIS &
I2C_STOP_DIS & I2C_RESTART_DIS
& I2C_START_DIS);
OpenI2C (config1, config2);
while (1) (_RB12 = 1;IdleI2C ();
StartI2C ();
/ / Odotahan Käynnistä järjestys on valmistunut
while (I2CCONbits.SEN);
/ / Kirjoita Slave osoite ja asettaa päällikön siirto
MasterWriteI2C (0xE);
/ / Odotahan osoite lähetetään
while (I2CSTATbits.TBF);
while (I2CSTATbits.ACKSTAT);
/ / Transmit string tietoja
MasterputsI2C (wrptr);
StopI2C ();
/ / Odotahan pysäkki järjestys on valmistunut
while (I2CCONbits.PEN);
CloseI2C ()
)
Ensinnäkin haluan kiittää teitä siitä, että ensimmäisen luokan foorumi, että olette täällä, ja jos saan haluaisin aloittaa läsnäolostani tätä kysymystä.
I Yritän työskennellä yhdessä I2C protokolla, joka dspic30F6012a ja siltä osin voin t saavuttaa minun intension.Olen lukenut koko osassa I2C alkaen tekninen ja dspic30F6021a ja näyttää siltä, niin helppo panna I2C työhön, että mielestäni minun salaperäisyydestä on erittäin helppo paikalla sinua.
Aion yrittää antaa niin paljon info minun sekainen hankkeeseen.
Minulla on dspic30F6012a kanssa 24MHz kristalli, joka PICkit2 ohjelmoija, ja olen käyttäen MPLAB8.20.C30 kääntäjään ja koodi, että olen avulla on esimerkki siitä C30 kääntäjään Kieli Työkalut Kirjastot asiakirja pag 192.Olen käyttäen logiikka-analysaattorin alkaen PICkit2 ja olen yrittänyt sen kanssa o-kattavuus kuin hyvin, lukemisen ja SDA ja SCL porttien 36 ja 37.
Oma koodi on vain näin että C30:
Code:# define __dsPIC30F6012a__
# include <p30f6012a.h>
# include <string.h>
# include <stdio.h>/ / C30
# include <i2c.h>/ / config
_FOSC (CSW_FSCM_OFF & HS);
_FWDT (WDT_OFF);
_FBORPOR (PBOR_OFF & MCLR_DIS);
_FBS (CODE_PROT_OFF);
_FSS (CODE_PROT_OFF);
_FGS (CODE_PROT_OFF);
_FICD (ICS_NONE);int main () (unsigned int config2, config1;
unsigned char * wrptr;
unsigned char tx_data [] =
( 'M', 'I', 'C', 'R', 'O', 'C', 'H', 'I', 'P', '\ 0');
wrptr = tx_data;TRISBbits.TRISB12 = 0; / / config tuotos LED
/ / Baude korko on asetettu 100 kHz
config2 = 218;
/ / Määritä I2C 7 bittinen osoite tilassa
config1 = (I2C_ON & I2C_IDLE_CON & I2C_CLK_HLD
& I2C_IPMI_DIS & I2C_7BIT_ADD
& I2C_SLW_DIS & I2C_SM_DIS &
I2C_GCALL_DIS & I2C_STR_DIS &
I2C_NACK & I2C_ACK_DIS & I2C_RCV_DIS &
I2C_STOP_DIS & I2C_RESTART_DIS
& I2C_START_DIS);
OpenI2C (config1, config2);
while (1) (_RB12 = 1;IdleI2C ();
StartI2C ();
/ / Odotahan Käynnistä järjestys on valmistunut
while (I2CCONbits.SEN);
/ / Kirjoita Slave osoite ja asettaa päällikön siirto
MasterWriteI2C (0xE);
/ / Odotahan osoite lähetetään
while (I2CSTATbits.TBF);
while (I2CSTATbits.ACKSTAT);
/ / Transmit string tietoja
MasterputsI2C (wrptr);
StopI2C ();
/ / Odotahan pysäkki järjestys on valmistunut
while (I2CCONbits.PEN);
CloseI2C ()
)