MPLAB X e simulazione EUSART

programmazione Microchip pic a 8 e 16 bit

Moderatore: Junior Admin

Rispondi
Avatar utente
AF116
FINALMENTE USO IL TORNIO
Messaggi: 379
Iscritto il: gio lug 12, 2012 13:37
Località: Sestri L. (GE)

MPLAB X e simulazione EUSART

Messaggio da AF116 »

Passando da MPLAB a MPLAB X, ho riscontrato diverse problematiche nella simulazione del'EUSART (PIC 16F886).
Utilizzando, come nel precedente MPLAB, la funzione "Register Injection" del tool "Stimulus", al massimo sono riuscito ad ottenere la ricezione di un primo carattere, poi ne salta 2, ne riceve uno ecc.

L'unico modo per simulare la seriale è stato fare un file .scl con il quale iniettare i caratteri uno a uno nel registro RCREG e settare il flag RCIF.

Tale file deve essere inserito tramite il pulsante "+SCL" a sinistra del pannello "Stimulus"

Lo allego anche se penso debba esistere una soluzione migliore!

Codice: Seleziona tutto

testbench for "pic16f886" is
   begin
      process is
         begin
	wait for 1000 ms;
            RCREG <= 65;	//LETTERA 'A'
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 66;	// B
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 67;	// C
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 68;	// D
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 69;	// E
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 70;	// F
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 71;	// G
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 72;	// H
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 73;	// I
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 74;	// J
	PIR1.RCIF <= '1';
            wait for 5 ms;
           RCREG <= 75;	// K
	PIR1.RCIF <= '1';
            wait;

         end process;
   end testbench;
Rispondi

Torna a “Programmazione processori PIC”