gestione porte PIC

5 Anni 3 Mesi fa #1 da Federico_d
gestione porte PIC è stato creato da Federico_d
Buongiorno,
come ho scritto nella mia presentazione, sto iniziando a fare i primi esperimenti con un PIC 18F2550 per prendere confidenza col workflow: MPLAB-X 5.2 - PIC Kit 4 - MCU. Ho notato che dopo aver programmato il PIC, se stacco il programmatore e le porte PGD e PGC rimangono "floating", il micro non funziona correttamente. Quindi ho provato a mettere un resistore di pull-down e successivamente ho tolto il resistore e settato le due porte in OUTPUT/LOW. In entrambi i casi tutto sembra funzionare. E' prassi corretta mettere in down queste porte, o ci sono altri accorgimenti che non conosco ?
Grazie,e buona giornata a tutti.
Federico

Non si può essere sicuri di nulla. Ne sono assolutamente certo!

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

  • Federico_d
  • New Member
  • New Member
Di più
5 Anni 3 Mesi fa #2 da Cosimix
Risposta da Cosimix al topic gestione porte PIC

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

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

  • Cosimix
  • Avatar di Cosimix
  • Elite Member
  • Elite Member
Di più
5 Anni 3 Mesi fa #3 da Mauro Laurenti
Risposta da Mauro Laurenti al topic gestione porte PIC
Salve Federico,

a meno che tu non stia in fase di debug, quando stacchi il programmatore deve funzionare.
Non ci deve essere l'esigenza di collegare PGD e PGC a massa.

Quale schema elettrico stai utilizzando?

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
5 Anni 3 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic gestione porte PIC
...abbiamo scritto in contemporanea.

Quello che è strano è che non funziona quando stacchi il programmatore.

I miei dubbi sono sulla linea MCLR ed eventualmente il watchdog interno (da disabilitare).

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
5 Anni 3 Mesi fa #5 da Federico_d
Risposta da Federico_d al topic gestione porte PIC
Posterò lo schema elettrico appena possibile, lo devo disegnare. Nel frattempo aggiungo che il programma fa banalmente lampeggiare un led. Il non-funzionamento si manifesta così: se stacco il PK4 quando il led è spento, questo rimane spento. Se lo stacco a led acceso, questo inizia a sfarfallare esattamente a 50 Hz, misurati da oscilloscopio. Cosa che ovviamente non so spiegare. Mettendo a massa le due suddette porte il led inzia a lampeggiare come mi aspetto. Il pic è impostato per funzionare con l'oscillatore interno a 8 MHz.
Ecco il codice.

#include <stdio.h>
#include <stdlib.h>
#include <pic18f2550.h>
#include <xc.h>

#define DELAY_VALUE 50000
#define FOREVER 1
#pragma config WDT = OFF // Watchdog Timer Enable bit
#pragma config FOSC = INTOSC_EC

int main(int argc, char** argv) {

unsigned long counter = DELAY_VALUE;

TRISA = 0b0000; // set PORTA full output
TRISB = 0b0000; // set PORTB full output
OSCCONbits.IRCF = 0b111; // set internal clock to 8 MHz
PORTBbits.RB6 = 0; // set PGC to down
PORTBbits.RB7 = 0; // set PGD to down

while (FOREVER) {

while(counter)
{
counter--;
}
counter = DELAY_VALUE;

LATAbits.LATA0 = ~LATAbits.LATA0;

}

return (EXIT_SUCCESS);
}

Non si può essere sicuri di nulla. Ne sono assolutamente certo!

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

  • Federico_d
  • 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