Grazie per l’attenzione Lorenzo. Ho seguito il tuo consiglio, ecco un esempio:
\documentclass[11pt,oneside,a4paper]{book}
\usepackage{latexsym}
\usepackage{listings}
\lstloadlanguages{C, Matlab}
\usepackage{graphicx}
\begin{document}
\lstset{language=C}
\lstset{basicstyle=\footnotesize\sffamily}
\lstset{numbers=left,numberstyle=\tiny, stepnumber=1, numbersep=10pt}
\lstset{morecomment=[l]{//}}
\begin{lstlisting}
/* Programma di prova che permette di accendere il led 3 nel caso in cui si prema il */
/* pulsante S2 e il led 2 nel caso si prema il pulsante S3. */
/* Nel primo dei due casi viene inoltre attivato il buzzer (per un tempo limitato). */
/* N.B.: i pulsanti sono attivi bassi. */
#include
void main (void)
{
int i;
TRISAbits.TRISA4 = 1; //Imposto il pin RA4 come ingresso (e’ collegato al pulsante S2)
TRISBbits.TRISB3 = 0; //Imposto il pin RB3 come uscita (e’ collegato al Led 3)
TRISBbits.TRISB0 = 1; //Imposto il pin RB0 come ingresso (e’ collegato al pulsante S3)
TRISBbits.TRISB2 = 0; //Imposto il pin RB3 come uscita (e’ collegato al Led 2)
TRISCbits.TRISC2 = 0; //Imposto il pin RC2 come uscita (e’ collegato al buzzer)
PORTCbits.RC2=0; //Metto inizialmente a 0 il pin RC2 (buzzer spento)
while(1)
{
/***Controllo pulsante S3***/
if(PORTBbits.RB0 == 1) //Se non premo il pulsante S3…
PORTBbits.RB2 = 0; //…il led 2 e’ spento
if(PORTBbits.RB0 == 0) //Se premo il pulsante S3…
PORTBbits.RB2 = 1; //…si accende il led 2
/***Controllo pulsante S2 e buzzer***/
if(PORTAbits.RA4 == 1) //Se non premo il pulsante S2…
PORTBbits.RB3 = 0; //…il led 3 e’ spento
if(PORTAbits.RA4 == 0) //Se premo il pulsante S2..
{PORTBbits.RB3 = 1; //…si accende il led 3…
for (i=0; i<100; i++)
PORTCbits.RC2=1; //…e si attiva il buzzer
PORTCbits.RC2=0;
}
}
}
\end{lstlisting}
\end{document}
Provando a compilarlo ottengo sempre le medesime notifiche di errore.