SPI - I2C Pic 18F4550

8 Anni 9 Mesi fa #1 da natan2000
SPI - I2C Pic 18F4550 è stato creato da natan2000
Ciao a tutti,
sono nuovo nella programmazione microchip e vi chiedo un aiuto.
Sto impazzendo :woohoo: con SPI e I2C per un pic 18f4550, in particolare non riesco a far patire il CLOCK sul PIN RB1 che è SCk per SPI e SCL per I2C.

Ho configurato:

FOSC=INTHS

ADCON1=0B00001111; // tutte le porte sono digitali
USBEN=0; // disattiva USB
RBPU=0; // Pull-Up disable Set

Qualcuno mi può dare una mano??? :blink:

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • natan2000
  • New Member
  • New Member
Di più
8 Anni 9 Mesi fa #2 da Claudio_F
Risposta da Claudio_F al topic SPI - I2C Pic 18F4550
Hai provato a leggere il libro di Mauro, ci sono gli esempi pronti con tutte le spiegazioni.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Claudio_F
  • Premium Member
  • Premium Member
Di più
8 Anni 9 Mesi fa #3 da natan2000
Risposta da natan2000 al topic SPI - I2C Pic 18F4550
Ciao Claudio, ti ringrazio per la risposta.

Ho visto il libro di Mauro Laurenti 2 edizione, proverò di nuovo ma mi sembra di aver già fatto quello che riporta sulla guida.

Non capisco se necessita per I2C o SPI avere per forza un oscillatore esterno o può bastare solo quello interno (a 4MHz).

Mauro ha fatto altri libri??

Grazie ancora..

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • natan2000
  • New Member
  • New Member
Di più
8 Anni 9 Mesi fa #4 da natan2000
Risposta da natan2000 al topic SPI - I2C Pic 18F4550
La configurazione che adotto:

#include "p18f4550.h"
#include "delays.h"
#include "p18cxxx.h"
#include "spi.h"
#include "stdlib.h"
#include "stdio.h"

#pragma config FOSC= INTOSC_HS //Oscillatore interno
#pragma config WDT = OFF
#pragma config PBADEN = OFF
#pragma config LVP = OFF

void main (void)
{
OSCCONbits.IRCF2 = 1;
OSCCONbits.IRCF1 = 1;
OSCCONbits.IRCF0 = 0;
while (!OSCCONbits.IOFS)

ADCON1=0b00001111;
UCONbits.USBEN=0;
INTCON2bits.RBPU=0;

INTCONbits.GIE=1;
INTCONbits.PEIE=1;
IPR1bits.SSPIP=1;
PIR1bits.SSPIF=0;


OpenSPI(SPI_FOSC_16, MODE_00, SMPEND);
WriteSPI(‘a’);
putsSPI(arraywr);
CloseSPI();
}

ma il CLOCK sul PIN RB1 che è SCk per SPI non parte.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • natan2000
  • New Member
  • New Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login