<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commenti per Settore Zero</title>
	<atom:link href="http://www.settorezero.com/wordpress/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.settorezero.com/wordpress</link>
	<description></description>
	<lastBuildDate>Sun, 05 Feb 2012 14:27:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Commenti su Semplice interfaccia elettronica di controllo con la porta parallela pilotata da vb.net di Gamer3000</title>
		<link>http://www.settorezero.com/wordpress/semplice-interfaccia-elettronica-di-controllo-con-la-porta-parallela-pilotata-da-vb-net/comment-page-1/#comment-13985</link>
		<dc:creator>Gamer3000</dc:creator>
		<pubDate>Sun, 05 Feb 2012 14:27:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1569#comment-13985</guid>
		<description>Scusa per il disturbo, ma dalla mia porta lpt esce solo 3 v enon 5, ho provato di tutto e mi sorge il dubbio che possa essere il pc che possiede solo 3 v</description>
		<content:encoded><![CDATA[<p>Scusa per il disturbo, ma dalla mia porta lpt esce solo 3 v enon 5, ho provato di tutto e mi sorge il dubbio che possa essere il pc che possiede solo 3 v</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 3 – Il primo programma in C: scrivere un semplice programma in C per PICMicro, impostare MPLAB e flashare il PICMicro con il PICKit2. Facciamo lampeggiare un LED! di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-3-il-primo-programma-in-c-scrivere-un-semplice-programma-in-c-per-picmicro-impostare-mplab-e-flashare-il-picmicro-con-il-pickit2/comment-page-4/#comment-13984</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Sat, 04 Feb 2012 18:00:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1131#comment-13984</guid>
		<description>http://www.settorezero.com/wordpress/perche-il-led-che-ho-collegato-sulla-porta-rxy-non-si-accende-disattivare-comparatore-e-convertitore-ad/</description>
		<content:encoded><![CDATA[<p><a href="http://www.settorezero.com/wordpress/perche-il-led-che-ho-collegato-sulla-porta-rxy-non-si-accende-disattivare-comparatore-e-convertitore-ad/" rel="nofollow">http://www.settorezero.com/wordpress/perche-il-led-che-ho-collegato-sulla-porta-rxy-non-si-accende-disattivare-comparatore-e-convertitore-ad/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 3 – Il primo programma in C: scrivere un semplice programma in C per PICMicro, impostare MPLAB e flashare il PICMicro con il PICKit2. Facciamo lampeggiare un LED! di damosound</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-3-il-primo-programma-in-c-scrivere-un-semplice-programma-in-c-per-picmicro-impostare-mplab-e-flashare-il-picmicro-con-il-pickit2/comment-page-4/#comment-13983</link>
		<dc:creator>damosound</dc:creator>
		<pubDate>Sat, 04 Feb 2012 16:10:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1131#comment-13983</guid>
		<description>salve.
io ho scritto un semplice programmino, per verificare il corretto funzionamento della mia programmazione.
lo posto:


// test per pic 16f877a
#define  XTAL_FREQ 4MHZ 
#include 
// Fuses di configurazione
__CONFIG (HS &amp; WDTDIS &amp; PWRTEN &amp; BORDIS &amp; LVPDIS &amp; DUNPROT &amp; WRTEN &amp; DEBUGDIS &amp; UNPROTECT);

#include &quot;delay.c&quot; // routine per ritardi
#define	LED1	RC0 
#define	LED2	RA5 

// funzione principale, eseguita all&#039;avvio del picmicro
void main(void)
	{

	// imposto i registri tristato in maniera tale che tutte le porte siano configurate come pin di uscita
	TRISA=0b00000000;
	TRISB=0b00000000;
	TRISC=0b00000000;
	TRISD=0b00000000; 
	TRISE=0b00000000;
LED1=0;
LED2=0;

while(1) // eseguo un ciclo finito
        {
		
		LED1=LED1^1;
		DelayMs(50);
		LED2=LED2^1;
		DelayMs(50);
		
		}// Fine ciclo continuo
	
	} // Fine main 
 
ora i due led, sia su porta &quot;a&quot; e su porta &quot;c&quot;,  dovrebbero lampeggiare entrambi.
 osservo che il led della porta &quot;c &quot;lampeggia, mentre il led della porta &quot;a&quot; rimane fisso.
ho seguito tutte le istruzioni per la compilazione o anche provato a reinstallare la versione vecchia di mplab(la 8.6), ma il problema persiste lo stesso, con entrambe le versioni. 
non vorrei che vada in conflitto qualcosa, dato che uso window7 .
mi sapete dare delle spiegazioni? grazie!</description>
		<content:encoded><![CDATA[<p>salve.<br />
io ho scritto un semplice programmino, per verificare il corretto funzionamento della mia programmazione.<br />
lo posto:</p>
<p>// test per pic 16f877a<br />
#define  XTAL_FREQ 4MHZ<br />
#include<br />
// Fuses di configurazione<br />
__CONFIG (HS &amp; WDTDIS &amp; PWRTEN &amp; BORDIS &amp; LVPDIS &amp; DUNPROT &amp; WRTEN &amp; DEBUGDIS &amp; UNPROTECT);</p>
<p>#include &#8220;delay.c&#8221; // routine per ritardi<br />
#define	LED1	RC0<br />
#define	LED2	RA5 </p>
<p>// funzione principale, eseguita all&#8217;avvio del picmicro<br />
void main(void)<br />
	{</p>
<p>	// imposto i registri tristato in maniera tale che tutte le porte siano configurate come pin di uscita<br />
	TRISA=0b00000000;<br />
	TRISB=0b00000000;<br />
	TRISC=0b00000000;<br />
	TRISD=0b00000000;<br />
	TRISE=0b00000000;<br />
LED1=0;<br />
LED2=0;</p>
<p>while(1) // eseguo un ciclo finito<br />
        {</p>
<p>		LED1=LED1^1;<br />
		DelayMs(50);<br />
		LED2=LED2^1;<br />
		DelayMs(50);</p>
<p>		}// Fine ciclo continuo</p>
<p>	} // Fine main </p>
<p>ora i due led, sia su porta &#8220;a&#8221; e su porta &#8220;c&#8221;,  dovrebbero lampeggiare entrambi.<br />
 osservo che il led della porta &#8220;c &#8220;lampeggia, mentre il led della porta &#8220;a&#8221; rimane fisso.<br />
ho seguito tutte le istruzioni per la compilazione o anche provato a reinstallare la versione vecchia di mplab(la 8.6), ma il problema persiste lo stesso, con entrambe le versioni.<br />
non vorrei che vada in conflitto qualcosa, dato che uso window7 .<br />
mi sapete dare delle spiegazioni? grazie!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 3 – Il primo programma in C: scrivere un semplice programma in C per PICMicro, impostare MPLAB e flashare il PICMicro con il PICKit2. Facciamo lampeggiare un LED! di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-3-il-primo-programma-in-c-scrivere-un-semplice-programma-in-c-per-picmicro-impostare-mplab-e-flashare-il-picmicro-con-il-pickit2/comment-page-3/#comment-13981</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Fri, 03 Feb 2012 18:27:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1131#comment-13981</guid>
		<description>Il blog ha una funzione di ricerca.

http://www.settorezero.com/wordpress/hitec-c-compiler-i-nuovi-nomi-mnemonici-che-causano-errori-nei-vecchi-programmi/</description>
		<content:encoded><![CDATA[<p>Il blog ha una funzione di ricerca.</p>
<p><a href="http://www.settorezero.com/wordpress/hitec-c-compiler-i-nuovi-nomi-mnemonici-che-causano-errori-nei-vecchi-programmi/" rel="nofollow">http://www.settorezero.com/wordpress/hitec-c-compiler-i-nuovi-nomi-mnemonici-che-causano-errori-nei-vecchi-programmi/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 3 – Il primo programma in C: scrivere un semplice programma in C per PICMicro, impostare MPLAB e flashare il PICMicro con il PICKit2. Facciamo lampeggiare un LED! di damosound</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-3-il-primo-programma-in-c-scrivere-un-semplice-programma-in-c-per-picmicro-impostare-mplab-e-flashare-il-picmicro-con-il-pickit2/comment-page-3/#comment-13980</link>
		<dc:creator>damosound</dc:creator>
		<pubDate>Fri, 03 Feb 2012 18:24:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1131#comment-13980</guid>
		<description>salve.
sto provando a compilare il primo firmware per il pic16f877 con mplab, ho fatto tutti i passaggi, come nella tua lezione.
al momento della compilazione, mplab mi da degli errori:

Error   [800] test.as; 45. undefined symbol &quot;UNPROTECT&quot;
Error   [800] test.as; 45. undefined symbol &quot;DEBUGDIS&quot;
Error   [800] test.as; 45. undefined symbol &quot;WRTEN&quot;
Error   [800] test.as; 45. undefined symbol &quot;DUNPROT&quot;
Error   [800] test.as; 45. undefined symbol &quot;LVPDIS&quot;
Error   [800] test.as; 45. undefined symbol &quot;BORDIS&quot;
Error   [800] test.as; 45. undefined symbol &quot;PWRTEN&quot;
Error   [800] test.as; 45. undefined symbol &quot;WDTDIS&quot;
Error   [800] test.as; 45. undefined symbol &quot;HS&quot;

********** Build failed! **********
cosa devo fare, il file è il main.c di esempio sulla lezione .
 ti ringrazio!</description>
		<content:encoded><![CDATA[<p>salve.<br />
sto provando a compilare il primo firmware per il pic16f877 con mplab, ho fatto tutti i passaggi, come nella tua lezione.<br />
al momento della compilazione, mplab mi da degli errori:</p>
<p>Error   [800] test.as; 45. undefined symbol &#8220;UNPROTECT&#8221;<br />
Error   [800] test.as; 45. undefined symbol &#8220;DEBUGDIS&#8221;<br />
Error   [800] test.as; 45. undefined symbol &#8220;WRTEN&#8221;<br />
Error   [800] test.as; 45. undefined symbol &#8220;DUNPROT&#8221;<br />
Error   [800] test.as; 45. undefined symbol &#8220;LVPDIS&#8221;<br />
Error   [800] test.as; 45. undefined symbol &#8220;BORDIS&#8221;<br />
Error   [800] test.as; 45. undefined symbol &#8220;PWRTEN&#8221;<br />
Error   [800] test.as; 45. undefined symbol &#8220;WDTDIS&#8221;<br />
Error   [800] test.as; 45. undefined symbol &#8220;HS&#8221;</p>
<p>********** Build failed! **********<br />
cosa devo fare, il file è il main.c di esempio sulla lezione .<br />
 ti ringrazio!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Utilizzare l&#8217; IO Expander PCF8574 di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/utilizzare-l-io-expander-pcf8574/comment-page-1/#comment-13979</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Fri, 03 Feb 2012 09:44:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4567#comment-13979</guid>
		<description>Prova dal vero anzichè col simulatore e fammi sapere se funziona lo stesso.</description>
		<content:encoded><![CDATA[<p>Prova dal vero anzichè col simulatore e fammi sapere se funziona lo stesso.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Utilizzare l&#8217; IO Expander PCF8574 di lodi12</title>
		<link>http://www.settorezero.com/wordpress/utilizzare-l-io-expander-pcf8574/comment-page-1/#comment-13978</link>
		<dc:creator>lodi12</dc:creator>
		<pubDate>Fri, 03 Feb 2012 09:26:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4567#comment-13978</guid>
		<description>Ciao Giovanni,
sfogliando il datasheet del PCF8574 (ormai non mi piace più solo leggere i tuoi articoli, voglio vedere anche come fai a &quot;trovare&quot; le cose :D ) ho notato che per la lettura delle porte non è necessario mandare l&#039;indirizzo in modalità scrittura e fare il restart...ho provato su simulatore togliendo i due punti e sembra funzionare; per quale motivo gli hai messi? maggiore sicurezza?</description>
		<content:encoded><![CDATA[<p>Ciao Giovanni,<br />
sfogliando il datasheet del PCF8574 (ormai non mi piace più solo leggere i tuoi articoli, voglio vedere anche come fai a &#8220;trovare&#8221; le cose :D ) ho notato che per la lettura delle porte non è necessario mandare l&#8217;indirizzo in modalità scrittura e fare il restart&#8230;ho provato su simulatore togliendo i due punti e sembra funzionare; per quale motivo gli hai messi? maggiore sicurezza?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 10 – L&#8217;USART e la comunicazione seriale con il protocollo RS232. Realizziamo un semplice sistema di automazione di mattopino</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-10-usart-e-la-comunicazione-seriale-con-il-protocollo-rs232-realizziamo-un-semplice-sistema-di-automazione/comment-page-1/#comment-13976</link>
		<dc:creator>mattopino</dc:creator>
		<pubDate>Wed, 01 Feb 2012 23:05:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=2103#comment-13976</guid>
		<description>Salve, 
nel mio codice utilizzo il controllo di alcuni  flag che vengono settati nell’ISR e verificati nel main per attivare le corrispondenti funzioni.
Ho creato un gestore di eeprom 3-wire attraverso un pic16f88 il quale attravesro l usart fa da tramite fra  un programma java e una eeprom  93c46.
Il programma invia dei comandi via seriale che il pic  legge nel ISR e interpreta nel main applicandoli all&#039; eeprom tipo leggerne in contenuto, scrivere una determinata cella di memoria, visualizzare la memoria sullo schermo ecc. 
Tutto funziona bene però ho dei problemi di tempistiche, nel main mi trovo a gestire anche lo schermo di un nokia3310 sul quale visualizzo dei loghi attraverso delle funzioni che impiegano del tempo per scrivere sullo schermo  quindi quando mando un comando al pic che viene letto attraverso l interrupt su usart  prima di vederlo applicato devo attendere che termini una di queste funzioni con il conseguente risultato che mando un comando passa un certo tempo più o meno lungo e vedo gli effetti del comando.
Come potrei oviare a questo? 
Esiste un modo per far si che dopo l ISR il pic esegua la porzione di codice dove verifica i flag e poi prosegua con quello che stava facendo?? 

Grazie.
Saluti Matteo</description>
		<content:encoded><![CDATA[<p>Salve,<br />
nel mio codice utilizzo il controllo di alcuni  flag che vengono settati nell’ISR e verificati nel main per attivare le corrispondenti funzioni.<br />
Ho creato un gestore di eeprom 3-wire attraverso un pic16f88 il quale attravesro l usart fa da tramite fra  un programma java e una eeprom  93c46.<br />
Il programma invia dei comandi via seriale che il pic  legge nel ISR e interpreta nel main applicandoli all&#8217; eeprom tipo leggerne in contenuto, scrivere una determinata cella di memoria, visualizzare la memoria sullo schermo ecc.<br />
Tutto funziona bene però ho dei problemi di tempistiche, nel main mi trovo a gestire anche lo schermo di un nokia3310 sul quale visualizzo dei loghi attraverso delle funzioni che impiegano del tempo per scrivere sullo schermo  quindi quando mando un comando al pic che viene letto attraverso l interrupt su usart  prima di vederlo applicato devo attendere che termini una di queste funzioni con il conseguente risultato che mando un comando passa un certo tempo più o meno lungo e vedo gli effetti del comando.<br />
Come potrei oviare a questo?<br />
Esiste un modo per far si che dopo l ISR il pic esegua la porzione di codice dove verifica i flag e poi prosegua con quello che stava facendo?? </p>
<p>Grazie.<br />
Saluti Matteo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 7 (parte 1/3) – Interfaccia con LCD &#8211; Tutto quello che c&#8217;è da sapere sui display LCD alfanumerici &#8220;intelligenti&#8221; di Fabio</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-7-parte-1-interfacciarsi-con-un-display-lcd-intelligente-introduzione/comment-page-1/#comment-13975</link>
		<dc:creator>Fabio</dc:creator>
		<pubDate>Wed, 01 Feb 2012 13:41:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1608#comment-13975</guid>
		<description>La cosa dovrebbe servire per una &quot;area di progetto&quot; da presentare alla maturità. All&#039;orario prestabilito si accenderebbe un lettore mp3 che è giè stato &quot;sacrificato&quot; riportando all&#039;esterno i contatti dei pulsanti di accensione, regolazione volume e avanzamento brani. Oltre ad una lampada LED con aumenterebbe progressivamente l&#039;intensità luminosa con PWM.
Si pensava ad un P18F4550 con MPLAB C18 che è la tecnologia che normalmente usiamo.

un saluto
fabio milano</description>
		<content:encoded><![CDATA[<p>La cosa dovrebbe servire per una &#8220;area di progetto&#8221; da presentare alla maturità. All&#8217;orario prestabilito si accenderebbe un lettore mp3 che è giè stato &#8220;sacrificato&#8221; riportando all&#8217;esterno i contatti dei pulsanti di accensione, regolazione volume e avanzamento brani. Oltre ad una lampada LED con aumenterebbe progressivamente l&#8217;intensità luminosa con PWM.<br />
Si pensava ad un P18F4550 con MPLAB C18 che è la tecnologia che normalmente usiamo.</p>
<p>un saluto<br />
fabio milano</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 7 (parte 1/3) – Interfaccia con LCD &#8211; Tutto quello che c&#8217;è da sapere sui display LCD alfanumerici &#8220;intelligenti&#8221; di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-7-parte-1-interfacciarsi-con-un-display-lcd-intelligente-introduzione/comment-page-1/#comment-13974</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Wed, 01 Feb 2012 06:04:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1608#comment-13974</guid>
		<description>Comunque proprio in questi giorni ho terminato un esempio con ORbit16 per sfruttare il modulo RTCC interno e realizzare un semplice datario/orologio e per il set ho sfruttato il lampeggio delle parte da modificare.</description>
		<content:encoded><![CDATA[<p>Comunque proprio in questi giorni ho terminato un esempio con ORbit16 per sfruttare il modulo RTCC interno e realizzare un semplice datario/orologio e per il set ho sfruttato il lampeggio delle parte da modificare.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 7 (parte 1/3) – Interfaccia con LCD &#8211; Tutto quello che c&#8217;è da sapere sui display LCD alfanumerici &#8220;intelligenti&#8221; di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-7-parte-1-interfacciarsi-con-un-display-lcd-intelligente-introduzione/comment-page-1/#comment-13973</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Tue, 31 Jan 2012 17:11:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1608#comment-13973</guid>
		<description>L&#039;unico problema se fai comparire il cursore è che durante il settaggio non devi fare il refresh del display altrimenti il cursore ovviamente si sposta di continuo durante la scrittura.</description>
		<content:encoded><![CDATA[<p>L&#8217;unico problema se fai comparire il cursore è che durante il settaggio non devi fare il refresh del display altrimenti il cursore ovviamente si sposta di continuo durante la scrittura.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Programmare i PICmicro in ambiente Linux &#8211; Parte 1 di Salvatore Salzano</title>
		<link>http://www.settorezero.com/wordpress/programmare-i-picmicro-in-ambiente-linux-parte-1/comment-page-1/#comment-13972</link>
		<dc:creator>Salvatore Salzano</dc:creator>
		<pubDate>Tue, 31 Jan 2012 13:55:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4569#comment-13972</guid>
		<description>Ciao Plotino,
manda il link del pk2cmd che hai scaricato dal sito microchip e spiega in che modo hai tentato di installarlo (quale distro usi, quale ambiente di sviluppo hai installato, etc etc...) perchè sono più propenso a ritenere che ti manchi qualche software per la compilazione</description>
		<content:encoded><![CDATA[<p>Ciao Plotino,<br />
manda il link del pk2cmd che hai scaricato dal sito microchip e spiega in che modo hai tentato di installarlo (quale distro usi, quale ambiente di sviluppo hai installato, etc etc&#8230;) perchè sono più propenso a ritenere che ti manchi qualche software per la compilazione</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Appunti di utilizzo del Timer1 : spunti utili per la realizzazione di orologi e timers di djlorenz</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-appunti-di-utilizzo-del-timer1-spunti-utili-per-la-realizzazione-di-orologi-e-timers/comment-page-1/#comment-13971</link>
		<dc:creator>djlorenz</dc:creator>
		<pubDate>Tue, 31 Jan 2012 12:22:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=3695#comment-13971</guid>
		<description>iniziato il progetto dell&#039;orologio (un po&#039; speciale) che spero di pubblicare presto su questo ottimo sito...
mi è venuto un dubbio e vorrei chiedere anche i vostri pareri...
nel mio orologio vengono visualizzare solo ore e minuti, perchè caricare ogni volta mezzo timer per contare un secondo quando si possono contare 2 secondi?
mi spiego meglio... se tenessi l&#039;interrupt ogni 2 secondi e incrementassi la mia variabile secondi +2?
ci guadagno qualcosa in termini di precisione avendo la metà degli interrupt al minuto?
tanto alla fine 60 è multiplo di 2 quindi non dovrei aver nessun problema...
è un&#039;idea sensata o una cavolata???</description>
		<content:encoded><![CDATA[<p>iniziato il progetto dell&#8217;orologio (un po&#8217; speciale) che spero di pubblicare presto su questo ottimo sito&#8230;<br />
mi è venuto un dubbio e vorrei chiedere anche i vostri pareri&#8230;<br />
nel mio orologio vengono visualizzare solo ore e minuti, perchè caricare ogni volta mezzo timer per contare un secondo quando si possono contare 2 secondi?<br />
mi spiego meglio&#8230; se tenessi l&#8217;interrupt ogni 2 secondi e incrementassi la mia variabile secondi +2?<br />
ci guadagno qualcosa in termini di precisione avendo la metà degli interrupt al minuto?<br />
tanto alla fine 60 è multiplo di 2 quindi non dovrei aver nessun problema&#8230;<br />
è un&#8217;idea sensata o una cavolata???</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 7 (parte 1/3) – Interfaccia con LCD &#8211; Tutto quello che c&#8217;è da sapere sui display LCD alfanumerici &#8220;intelligenti&#8221; di Fabio</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-7-parte-1-interfacciarsi-con-un-display-lcd-intelligente-introduzione/comment-page-1/#comment-13970</link>
		<dc:creator>Fabio</dc:creator>
		<pubDate>Tue, 31 Jan 2012 08:48:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1608#comment-13970</guid>
		<description>Giustissimo
E&#039; una soluzione semplice e a portata di mano, senza pensare a cose complicate

un saluto
fabio milano</description>
		<content:encoded><![CDATA[<p>Giustissimo<br />
E&#8217; una soluzione semplice e a portata di mano, senza pensare a cose complicate</p>
<p>un saluto<br />
fabio milano</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Programmare i PICmicro in ambiente Linux &#8211; Parte 1 di plotino</title>
		<link>http://www.settorezero.com/wordpress/programmare-i-picmicro-in-ambiente-linux-parte-1/comment-page-1/#comment-13969</link>
		<dc:creator>plotino</dc:creator>
		<pubDate>Mon, 30 Jan 2012 22:12:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4569#comment-13969</guid>
		<description>cosa intendi per PicKit 2? c&#039;è una versione linux?</description>
		<content:encoded><![CDATA[<p>cosa intendi per PicKit 2? c&#8217;è una versione linux?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Programmare i PICmicro in ambiente Linux &#8211; Parte 1 di plotino</title>
		<link>http://www.settorezero.com/wordpress/programmare-i-picmicro-in-ambiente-linux-parte-1/comment-page-1/#comment-13968</link>
		<dc:creator>plotino</dc:creator>
		<pubDate>Mon, 30 Jan 2012 22:11:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4569#comment-13968</guid>
		<description>ho seguito il tutorial ma non sono riuscito ad installare pk2cmd
credo che l&#039;ultima versione sul sito micorchip non sia compatibile con il kernel 3

qualcuno ha provato?

plotino</description>
		<content:encoded><![CDATA[<p>ho seguito il tutorial ma non sono riuscito ad installare pk2cmd<br />
credo che l&#8217;ultima versione sul sito micorchip non sia compatibile con il kernel 3</p>
<p>qualcuno ha provato?</p>
<p>plotino</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 3 – Il primo programma in C: scrivere un semplice programma in C per PICMicro, impostare MPLAB e flashare il PICMicro con il PICKit2. Facciamo lampeggiare un LED! di Manzoni83</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-3-il-primo-programma-in-c-scrivere-un-semplice-programma-in-c-per-picmicro-impostare-mplab-e-flashare-il-picmicro-con-il-pickit2/comment-page-3/#comment-13967</link>
		<dc:creator>Manzoni83</dc:creator>
		<pubDate>Mon, 30 Jan 2012 21:44:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1131#comment-13967</guid>
		<description>Salve Giovanni e complimenti per il grande lavoro che sta svolgendo!!!
Sono già tre mesi che seguo questi tutorial per imparare la programmazione dei pic e devo dire che sono veramente ben fatti!!!
Volevo chiederle un aiuto perchè ho un problema con la gestione delle porte RE0 RE1 RE2 di un PIC16f877.
Ho realizzato un termometro digitale che legge dall&#039;ingresso analogico  AN1 un segnale proveniente da un LM35.
Sto cercando di implementare altre operazioni utilizzando le porte RE0 RE1 ed RE2 come uscite digitali, queste però non si comportano come voglio! Se le setto alte riamangono basse etc.. 
Allora questo è il settaggio dei registri tristato:
TRISA=0b00010010;   // la porta RA1 è un ingresso analogico, mentre la porta RA4 è un ingresso digitale 
TRISB=0;                   //tutte configurate come uscite
TRISC=0;			//tutte configurate come uscite
TRISD=0;     		//tutte configurate come uscite
TRISE=0b00000000;	//tutte configurate come uscite 

mentre questo è il settaggio delle impostazioni del convertitore AD
ADCON0=0b10001000;          //settato: fosc32, analoginput AN1, convertitore AD Off 
ADCON1=0b10000100;         //settato:risultato giustificato a destra, fosc32, AN0 AN1 AN3 INGRESSI ANALOGICI,AN2 AN4 AN5 AN6 AN7 INGRESSI DIGITALI

infatti Impostando i bit PCFG3:PCFG0 del registro ADCON1 a 0100 dovrei avere  AN0 AN1 AN3 come ingressi analogici, mentre AN2 AN4 AN5(RE0) AN6(RE1) AN7(RE2)  come I/O digitali in base anche al settaggio dei registri tristato.
Questo però non succede perchè (per fare una prova al volo) ho provato semplicemente ad attivare le tre uscite in questione (RE0=1; RE1=1; RE2=1;) e l&#039;unico pin che si porta alto è RE2.
Non so davvero più dove sto sbagliando, perciò le chiedo se ha qualche suggerimento da darmi.
Grazie ancora</description>
		<content:encoded><![CDATA[<p>Salve Giovanni e complimenti per il grande lavoro che sta svolgendo!!!<br />
Sono già tre mesi che seguo questi tutorial per imparare la programmazione dei pic e devo dire che sono veramente ben fatti!!!<br />
Volevo chiederle un aiuto perchè ho un problema con la gestione delle porte RE0 RE1 RE2 di un PIC16f877.<br />
Ho realizzato un termometro digitale che legge dall&#8217;ingresso analogico  AN1 un segnale proveniente da un LM35.<br />
Sto cercando di implementare altre operazioni utilizzando le porte RE0 RE1 ed RE2 come uscite digitali, queste però non si comportano come voglio! Se le setto alte riamangono basse etc..<br />
Allora questo è il settaggio dei registri tristato:<br />
TRISA=0b00010010;   // la porta RA1 è un ingresso analogico, mentre la porta RA4 è un ingresso digitale<br />
TRISB=0;                   //tutte configurate come uscite<br />
TRISC=0;			//tutte configurate come uscite<br />
TRISD=0;     		//tutte configurate come uscite<br />
TRISE=0b00000000;	//tutte configurate come uscite </p>
<p>mentre questo è il settaggio delle impostazioni del convertitore AD<br />
ADCON0=0b10001000;          //settato: fosc32, analoginput AN1, convertitore AD Off<br />
ADCON1=0b10000100;         //settato:risultato giustificato a destra, fosc32, AN0 AN1 AN3 INGRESSI ANALOGICI,AN2 AN4 AN5 AN6 AN7 INGRESSI DIGITALI</p>
<p>infatti Impostando i bit PCFG3:PCFG0 del registro ADCON1 a 0100 dovrei avere  AN0 AN1 AN3 come ingressi analogici, mentre AN2 AN4 AN5(RE0) AN6(RE1) AN7(RE2)  come I/O digitali in base anche al settaggio dei registri tristato.<br />
Questo però non succede perchè (per fare una prova al volo) ho provato semplicemente ad attivare le tre uscite in questione (RE0=1; RE1=1; RE2=1;) e l&#8217;unico pin che si porta alto è RE2.<br />
Non so davvero più dove sto sbagliando, perciò le chiedo se ha qualche suggerimento da darmi.<br />
Grazie ancora</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 7 (parte 1/3) – Interfaccia con LCD &#8211; Tutto quello che c&#8217;è da sapere sui display LCD alfanumerici &#8220;intelligenti&#8221; di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-7-parte-1-interfacciarsi-con-un-display-lcd-intelligente-introduzione/comment-page-1/#comment-13966</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Mon, 30 Jan 2012 16:42:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1608#comment-13966</guid>
		<description>Altro sistema potrebbe essere quello di far comparire il cursore lampeggiante sulla cifra da modificare. Invii il comando per visualizzare il cursore e poi col goto posizioni il cursore dove vuoi</description>
		<content:encoded><![CDATA[<p>Altro sistema potrebbe essere quello di far comparire il cursore lampeggiante sulla cifra da modificare. Invii il comando per visualizzare il cursore e poi col goto posizioni il cursore dove vuoi</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 7 (parte 1/3) – Interfaccia con LCD &#8211; Tutto quello che c&#8217;è da sapere sui display LCD alfanumerici &#8220;intelligenti&#8221; di Fabio</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-7-parte-1-interfacciarsi-con-un-display-lcd-intelligente-introduzione/comment-page-1/#comment-13965</link>
		<dc:creator>Fabio</dc:creator>
		<pubDate>Mon, 30 Jan 2012 16:24:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1608#comment-13965</guid>
		<description>grazie per la risposta

la mia necessità è quella di mandare in blinking solo una parte del testo presente sul display (+ precisamente 2 caratteri). L&#039;idea è quella di impostare una data o ora usando due tasti: con il primo imposto progressivamente GG MM AA oppure hh mm ss con il secondo incremento il valore (un po&#039; come avviene quando si imposta ad esempio l&#039;h sul cruscotto di una vettura).
Per sapere cosa incremento devo evidenziare in qualche modo il valore in questione. Io pensavo al blinking ma andrebbe bene anche il reverse ma penso che in questo caso mi complicherei la vita (potrei definire le cifre in reverse come custom char ma il massimo è 8 e servono 10 cifre)

un saluto
fabio milano

P.S. ti ho offerto il caffè, veramente con le cose che ho imparato dal sito avrei dovuto offrirti la cena ...
purtroppo il mio stipendiuccio da prof ...</description>
		<content:encoded><![CDATA[<p>grazie per la risposta</p>
<p>la mia necessità è quella di mandare in blinking solo una parte del testo presente sul display (+ precisamente 2 caratteri). L&#8217;idea è quella di impostare una data o ora usando due tasti: con il primo imposto progressivamente GG MM AA oppure hh mm ss con il secondo incremento il valore (un po&#8217; come avviene quando si imposta ad esempio l&#8217;h sul cruscotto di una vettura).<br />
Per sapere cosa incremento devo evidenziare in qualche modo il valore in questione. Io pensavo al blinking ma andrebbe bene anche il reverse ma penso che in questo caso mi complicherei la vita (potrei definire le cifre in reverse come custom char ma il massimo è 8 e servono 10 cifre)</p>
<p>un saluto<br />
fabio milano</p>
<p>P.S. ti ho offerto il caffè, veramente con le cose che ho imparato dal sito avrei dovuto offrirti la cena &#8230;<br />
purtroppo il mio stipendiuccio da prof &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Semplice interfaccia elettronica di controllo con la porta parallela pilotata da vb.net di sperana38</title>
		<link>http://www.settorezero.com/wordpress/semplice-interfaccia-elettronica-di-controllo-con-la-porta-parallela-pilotata-da-vb-net/comment-page-1/#comment-13963</link>
		<dc:creator>sperana38</dc:creator>
		<pubDate>Mon, 30 Jan 2012 11:10:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1569#comment-13963</guid>
		<description>Salve Sig Giovanni mi chiamo giuseppe ho un problema con la porta parallela integrata nella scheda madre del mio computer
voglio far accendere un led con il computer, però il problema che all&#039;accensione la porta parallela ha tensione di circa 5 volt
pertanto sul pin 2 e 19 ( negativo ) il led si accende subito.Posso spegnerlo solo quando xp è avviato,tramite
il programmino in vb 6.Come posso lascire spento il led o eventuali relè all&#039;accensione del computer
e accendere il led solo dal programma?Grazie spero di avere vostre notizie</description>
		<content:encoded><![CDATA[<p>Salve Sig Giovanni mi chiamo giuseppe ho un problema con la porta parallela integrata nella scheda madre del mio computer<br />
voglio far accendere un led con il computer, però il problema che all&#8217;accensione la porta parallela ha tensione di circa 5 volt<br />
pertanto sul pin 2 e 19 ( negativo ) il led si accende subito.Posso spegnerlo solo quando xp è avviato,tramite<br />
il programmino in vb 6.Come posso lascire spento il led o eventuali relè all&#8217;accensione del computer<br />
e accendere il led solo dal programma?Grazie spero di avere vostre notizie</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 3 – Il primo programma in C: scrivere un semplice programma in C per PICMicro, impostare MPLAB e flashare il PICMicro con il PICKit2. Facciamo lampeggiare un LED! di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-3-il-primo-programma-in-c-scrivere-un-semplice-programma-in-c-per-picmicro-impostare-mplab-e-flashare-il-picmicro-con-il-pickit2/comment-page-3/#comment-13962</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Sat, 28 Jan 2012 23:07:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1131#comment-13962</guid>
		<description>Puoi pure rimanere attaccata l&#039;alimentazione esterna, il pickit si accorge della situazione e stacca la sua.</description>
		<content:encoded><![CDATA[<p>Puoi pure rimanere attaccata l&#8217;alimentazione esterna, il pickit si accorge della situazione e stacca la sua.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 3 – Il primo programma in C: scrivere un semplice programma in C per PICMicro, impostare MPLAB e flashare il PICMicro con il PICKit2. Facciamo lampeggiare un LED! di F98</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-3-il-primo-programma-in-c-scrivere-un-semplice-programma-in-c-per-picmicro-impostare-mplab-e-flashare-il-picmicro-con-il-pickit2/comment-page-3/#comment-13961</link>
		<dc:creator>F98</dc:creator>
		<pubDate>Sat, 28 Jan 2012 23:00:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1131#comment-13961</guid>
		<description>Buon giorno,
innanzitutto i complimenti per il notevole e chiaro lavoro che è stato fatto per questo corso.
E&#039; da poco che mi sono rimesso a fare qualcosa con i PICmicro ...Ma non ho mai programmato in C ...
Solo una domada, sicuramente di poco conto, ma alla quale non riesco a trovare risposta.
Venuto il momento di collegare il PIckit2 al circuito, c&#039;è scritto di &quot;ricordarsi di non alimentare il circuito, anzi di staccare i fili dall&#039;alimentazione&quot; ma nel mio applicativo c&#039;è un sacco di altre cose collegate al +5V, se io stacco l&#039;alimentazione esterna, tutto quanto viene alimentato dal +5V del PIcKit2, che ovviamente non ce la farà perchè dalla USB del PC non credo si possa avere più di un centinaio di mA. Sul sito di Microchip, nella User Guide del PicKit2 c&#039;è un disegno dove il +5V dell&#039;alimentazione dell&#039;applicativo è collegato assieme al +5V del PicKit2 (pag. 31 del file 51553E.pdf di Microchip).
Quindi la domanda è: come mi devo comportare? Devo sezionare il +5V del PICmicro in modo da scollegarlo dal resto del mio circuito quando lo programmo? Così facendo il PICmicro sarà alimentato dal PicKit2.
E&#039; anche però vero che facendo come dice Microchip e cioè collegando insieme il +5V dell&#039;applicativo al +5V del PicKit2 è molto probabile che i due +5v non siano perfettamente identici e quindi ci potrebbe essere della corrente (sicuramente molto bassa tanto le due alimentazioni sono più vicine come valore) che scorre da una alimentazione all&#039;altra. Questa cosa potrebbe creare problemi?
Grazie a tutti per l&#039;attenzione.
Saluti
Dino</description>
		<content:encoded><![CDATA[<p>Buon giorno,<br />
innanzitutto i complimenti per il notevole e chiaro lavoro che è stato fatto per questo corso.<br />
E&#8217; da poco che mi sono rimesso a fare qualcosa con i PICmicro &#8230;Ma non ho mai programmato in C &#8230;<br />
Solo una domada, sicuramente di poco conto, ma alla quale non riesco a trovare risposta.<br />
Venuto il momento di collegare il PIckit2 al circuito, c&#8217;è scritto di &#8220;ricordarsi di non alimentare il circuito, anzi di staccare i fili dall&#8217;alimentazione&#8221; ma nel mio applicativo c&#8217;è un sacco di altre cose collegate al +5V, se io stacco l&#8217;alimentazione esterna, tutto quanto viene alimentato dal +5V del PIcKit2, che ovviamente non ce la farà perchè dalla USB del PC non credo si possa avere più di un centinaio di mA. Sul sito di Microchip, nella User Guide del PicKit2 c&#8217;è un disegno dove il +5V dell&#8217;alimentazione dell&#8217;applicativo è collegato assieme al +5V del PicKit2 (pag. 31 del file 51553E.pdf di Microchip).<br />
Quindi la domanda è: come mi devo comportare? Devo sezionare il +5V del PICmicro in modo da scollegarlo dal resto del mio circuito quando lo programmo? Così facendo il PICmicro sarà alimentato dal PicKit2.<br />
E&#8217; anche però vero che facendo come dice Microchip e cioè collegando insieme il +5V dell&#8217;applicativo al +5V del PicKit2 è molto probabile che i due +5v non siano perfettamente identici e quindi ci potrebbe essere della corrente (sicuramente molto bassa tanto le due alimentazioni sono più vicine come valore) che scorre da una alimentazione all&#8217;altra. Questa cosa potrebbe creare problemi?<br />
Grazie a tutti per l&#8217;attenzione.<br />
Saluti<br />
Dino</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su ORbit16™ – Libreria per pilotaggio LCD HD44780 con IO Expander PCF8574 di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/orbit16-libreria-per-pilotaggio-lcd-hd44780-con-io-expander-pcf8574/comment-page-1/#comment-13960</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Sat, 28 Jan 2012 17:32:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4648#comment-13960</guid>
		<description>Arduino ha un set di librerie già pronte ma il livello di astrazione è elevatissimo: le usi ma non hai idea di cosa succede. A chi sta bene e a chi no. A me non sta bene. Per il resto abbiamo aperto già due corpose discussioni sul forum di Sergio Fiocco e su quello di Mauro Laurenti.</description>
		<content:encoded><![CDATA[<p>Arduino ha un set di librerie già pronte ma il livello di astrazione è elevatissimo: le usi ma non hai idea di cosa succede. A chi sta bene e a chi no. A me non sta bene. Per il resto abbiamo aperto già due corpose discussioni sul forum di Sergio Fiocco e su quello di Mauro Laurenti.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su ORbit16™ – Libreria per pilotaggio LCD HD44780 con IO Expander PCF8574 di volcane</title>
		<link>http://www.settorezero.com/wordpress/orbit16-libreria-per-pilotaggio-lcd-hd44780-con-io-expander-pcf8574/comment-page-1/#comment-13959</link>
		<dc:creator>volcane</dc:creator>
		<pubDate>Sat, 28 Jan 2012 17:14:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4648#comment-13959</guid>
		<description>Salve!

Giovanni ha scritto:
&gt;lavorare ad un certo livello con un pic 16bit non è la stessa cosa che lavorare con arduino e penso che avere &gt;determinati esempi già pronti è una bella cosa

Spiegheresti questa cosa? con arduino e&#039; piu&#039; semplice?</description>
		<content:encoded><![CDATA[<p>Salve!</p>
<p>Giovanni ha scritto:<br />
&gt;lavorare ad un certo livello con un pic 16bit non è la stessa cosa che lavorare con arduino e penso che avere &gt;determinati esempi già pronti è una bella cosa</p>
<p>Spiegheresti questa cosa? con arduino e&#8217; piu&#8217; semplice?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su ORbit16™ – Libreria per pilotaggio LCD HD44780 con IO Expander PCF8574 di volcane</title>
		<link>http://www.settorezero.com/wordpress/orbit16-libreria-per-pilotaggio-lcd-hd44780-con-io-expander-pcf8574/comment-page-1/#comment-13958</link>
		<dc:creator>volcane</dc:creator>
		<pubDate>Sat, 28 Jan 2012 12:53:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4648#comment-13958</guid>
		<description>Salve!

Condivido quello che scrive Giovanni, per quanto riguarda la questione di persone (parassiti) che rivendono il lavoro altrui proporrei di mettere delle firme nei documenti che solo l&#039;autore conosce, in modo da individuare il furbo, ad esempio Elektor fa scaricare dei documenti a pagamento le stesse riviste in formato PDF, in ogni pagina c&#039;e&#039; il nome account di chi ha scaricato, quindi se ad esempio io dovessi fare il furbo sarei rintracciabile inquanto su ogni pagina c&#039;e&#039; il mio nome.</description>
		<content:encoded><![CDATA[<p>Salve!</p>
<p>Condivido quello che scrive Giovanni, per quanto riguarda la questione di persone (parassiti) che rivendono il lavoro altrui proporrei di mettere delle firme nei documenti che solo l&#8217;autore conosce, in modo da individuare il furbo, ad esempio Elektor fa scaricare dei documenti a pagamento le stesse riviste in formato PDF, in ogni pagina c&#8217;e&#8217; il nome account di chi ha scaricato, quindi se ad esempio io dovessi fare il furbo sarei rintracciabile inquanto su ogni pagina c&#8217;e&#8217; il mio nome.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su ORbit16™ – Libreria per pilotaggio LCD HD44780 con IO Expander PCF8574 di gobbez</title>
		<link>http://www.settorezero.com/wordpress/orbit16-libreria-per-pilotaggio-lcd-hd44780-con-io-expander-pcf8574/comment-page-1/#comment-13957</link>
		<dc:creator>gobbez</dc:creator>
		<pubDate>Sat, 28 Jan 2012 10:27:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4648#comment-13957</guid>
		<description>Ciao, mi hai &quot;rubato&quot; ( :) ) l&#039;idea, ho finito da poco di mettere a puntino questa libreria che mi sono rifatto partendo da quella tua del LCD pilotato normalmente.. :)</description>
		<content:encoded><![CDATA[<p>Ciao, mi hai &#8220;rubato&#8221; ( :) ) l&#8217;idea, ho finito da poco di mettere a puntino questa libreria che mi sono rifatto partendo da quella tua del LCD pilotato normalmente.. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 7 (parte 1/3) – Interfaccia con LCD &#8211; Tutto quello che c&#8217;è da sapere sui display LCD alfanumerici &#8220;intelligenti&#8221; di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-7-parte-1-interfacciarsi-con-un-display-lcd-intelligente-introduzione/comment-page-1/#comment-13956</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Sat, 28 Jan 2012 07:56:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1608#comment-13956</guid>
		<description>Potresti provare a spegnere e accendere il display con l&#039;apposito comando di spegnimento/accensione anzichè cancellare e riscrivere</description>
		<content:encoded><![CDATA[<p>Potresti provare a spegnere e accendere il display con l&#8217;apposito comando di spegnimento/accensione anzichè cancellare e riscrivere</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 7 (parte 1/3) – Interfaccia con LCD &#8211; Tutto quello che c&#8217;è da sapere sui display LCD alfanumerici &#8220;intelligenti&#8221; di Fabio</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-7-parte-1-interfacciarsi-con-un-display-lcd-intelligente-introduzione/comment-page-1/#comment-13955</link>
		<dc:creator>Fabio</dc:creator>
		<pubDate>Fri, 27 Jan 2012 23:40:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1608#comment-13955</guid>
		<description>Grazie dell&#039;articolo (che avevo già studiato ma che ho riletto)
C&#039;è un modo per ottenere un testo blinking (testo che lampeggia non mi riferisco al cursore).
Dalla rilettura dell&#039;articolo non mi sembra di aver individuato un comando che possa fare questo.
La mia idea è quella di sfruttare l&#039;interrupt overflow del timer e scrivere/cancellare un testo per dare la sensazione del lampeggiare. Qualche idea per una strada + breve se c&#039;è. grazie

un saluto
fabio milano</description>
		<content:encoded><![CDATA[<p>Grazie dell&#8217;articolo (che avevo già studiato ma che ho riletto)<br />
C&#8217;è un modo per ottenere un testo blinking (testo che lampeggia non mi riferisco al cursore).<br />
Dalla rilettura dell&#8217;articolo non mi sembra di aver individuato un comando che possa fare questo.<br />
La mia idea è quella di sfruttare l&#8217;interrupt overflow del timer e scrivere/cancellare un testo per dare la sensazione del lampeggiare. Qualche idea per una strada + breve se c&#8217;è. grazie</p>
<p>un saluto<br />
fabio milano</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su ORbit16™ – Libreria per pilotaggio LCD HD44780 con IO Expander PCF8574 di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/orbit16-libreria-per-pilotaggio-lcd-hd44780-con-io-expander-pcf8574/comment-page-1/#comment-13954</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Fri, 27 Jan 2012 21:49:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4648#comment-13954</guid>
		<description>Il guaio è che purtroppo non lo so nemmeno io chi è. So solo che puntualmente ritrovo il mio lavoro da qualche parte e non si tratta mai di siti che io stimo senza tener conto che non mi chiedono nemmeno &quot;potrei usare questo&quot; ecc. No. Per il 50% degli italiani la roba che si trova su internet è roba trovata in mezzo alla strada e sono convinti di avere tutto il diritto di farne tutto ciò che vogliono, e non mi pare una cosa giusta. Sono un essere umano, lavoro, ho famiglia e faccio sacrifici. Allora in qualche modo mi devo tutelare e penso che questo sistema sia abbastanza onesto e tutti hanno da ricavarci qualcosa. Lavorare ad un certo livello con un pic 16bit non è la stessa cosa che lavorare con arduino e penso che avere determinati esempi già pronti è una bella cosa. Se noti ogni giorno c&#039;è qualche novità sul sito, anche quando si tratta solo di aggiustamenti estetici o altro comunque mi prende un sacco di tempo. Per come sono precisino sto sempre anche a correggere articoli pure risalenti a 2 anni fa, senza tener conto delle centinaia di email ogni giorno e purtroppo non posso rispondere a tutti. Ma non tutti larrivano a capire la mole di lavoro che c&#039;è dietro una cosa fatta in un certo modo. Si prende, si scarica e stop. Se ognuno si fermasse a pensare: &quot;ma però... chissà quanto tempo ci ha messo questo povero cristo a fare questo&quot;, già sarebbe diverso. Ma in Italia ci hanno abituati a non pensare.</description>
		<content:encoded><![CDATA[<p>Il guaio è che purtroppo non lo so nemmeno io chi è. So solo che puntualmente ritrovo il mio lavoro da qualche parte e non si tratta mai di siti che io stimo senza tener conto che non mi chiedono nemmeno &#8220;potrei usare questo&#8221; ecc. No. Per il 50% degli italiani la roba che si trova su internet è roba trovata in mezzo alla strada e sono convinti di avere tutto il diritto di farne tutto ciò che vogliono, e non mi pare una cosa giusta. Sono un essere umano, lavoro, ho famiglia e faccio sacrifici. Allora in qualche modo mi devo tutelare e penso che questo sistema sia abbastanza onesto e tutti hanno da ricavarci qualcosa. Lavorare ad un certo livello con un pic 16bit non è la stessa cosa che lavorare con arduino e penso che avere determinati esempi già pronti è una bella cosa. Se noti ogni giorno c&#8217;è qualche novità sul sito, anche quando si tratta solo di aggiustamenti estetici o altro comunque mi prende un sacco di tempo. Per come sono precisino sto sempre anche a correggere articoli pure risalenti a 2 anni fa, senza tener conto delle centinaia di email ogni giorno e purtroppo non posso rispondere a tutti. Ma non tutti larrivano a capire la mole di lavoro che c&#8217;è dietro una cosa fatta in un certo modo. Si prende, si scarica e stop. Se ognuno si fermasse a pensare: &#8220;ma però&#8230; chissà quanto tempo ci ha messo questo povero cristo a fare questo&#8221;, già sarebbe diverso. Ma in Italia ci hanno abituati a non pensare.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su ORbit16™ – Libreria per pilotaggio LCD HD44780 con IO Expander PCF8574 di albtras</title>
		<link>http://www.settorezero.com/wordpress/orbit16-libreria-per-pilotaggio-lcd-hd44780-con-io-expander-pcf8574/comment-page-1/#comment-13953</link>
		<dc:creator>albtras</dc:creator>
		<pubDate>Fri, 27 Jan 2012 21:30:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4648#comment-13953</guid>
		<description>Certamente tra gli utenti che hanno riversato il tuo lavoro in altri siti di elettronica&quot; non ci sono io&quot;.Il tuo lavoro è servito molte volte ai mei studenti di sistemi automatici,comunque se è necessario per sostenere questo &quot;sito&quot; frutto del tuo lavoro acquisterò personalmente la scheda ORbit16.</description>
		<content:encoded><![CDATA[<p>Certamente tra gli utenti che hanno riversato il tuo lavoro in altri siti di elettronica&#8221; non ci sono io&#8221;.Il tuo lavoro è servito molte volte ai mei studenti di sistemi automatici,comunque se è necessario per sostenere questo &#8220;sito&#8221; frutto del tuo lavoro acquisterò personalmente la scheda ORbit16.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su ORbit16™ – Libreria per pilotaggio LCD HD44780 con IO Expander PCF8574 di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/orbit16-libreria-per-pilotaggio-lcd-hd44780-con-io-expander-pcf8574/comment-page-1/#comment-13952</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Fri, 27 Jan 2012 19:00:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4648#comment-13952</guid>
		<description>Immagina io quanto trovo piacevole trovare il frutto del mio lavoro su siti di elettronica di bassa lega, chiusi agli utenti esterni e che si rivendono il materiale altrui. Il materiale per ORbit16 è disponibile a chi acquista una ORbit16, anche in versione solo PCB. Non penso sia una spesa eccessiva per chi pratica questo hobby e  comunque il ricavato va per sostenere le spese di gestione del sito. Tenendo conto della portata degli esempi di programmazione che ho messo, il costo personalmente lo ritengo più che giusto.</description>
		<content:encoded><![CDATA[<p>Immagina io quanto trovo piacevole trovare il frutto del mio lavoro su siti di elettronica di bassa lega, chiusi agli utenti esterni e che si rivendono il materiale altrui. Il materiale per ORbit16 è disponibile a chi acquista una ORbit16, anche in versione solo PCB. Non penso sia una spesa eccessiva per chi pratica questo hobby e  comunque il ricavato va per sostenere le spese di gestione del sito. Tenendo conto della portata degli esempi di programmazione che ho messo, il costo personalmente lo ritengo più che giusto.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su ORbit16™ – Libreria per pilotaggio LCD HD44780 con IO Expander PCF8574 di albtras</title>
		<link>http://www.settorezero.com/wordpress/orbit16-libreria-per-pilotaggio-lcd-hd44780-con-io-expander-pcf8574/comment-page-1/#comment-13951</link>
		<dc:creator>albtras</dc:creator>
		<pubDate>Fri, 27 Jan 2012 17:04:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4648#comment-13951</guid>
		<description>Sono stato sempre soddisfatto dell&#039;aiuto fornitomi in molte occasioni,trovo meno piacevole non poter utlizzare gli esempi  relativi all&#039;interfacciamento LCD_IO-expander(non riesco a scaricarli pur essendo registrato con voi da molto tempo).</description>
		<content:encoded><![CDATA[<p>Sono stato sempre soddisfatto dell&#8217;aiuto fornitomi in molte occasioni,trovo meno piacevole non poter utlizzare gli esempi  relativi all&#8217;interfacciamento LCD_IO-expander(non riesco a scaricarli pur essendo registrato con voi da molto tempo).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su [User Project] Gestione LCD con controllo di stato di OrazioBellassai</title>
		<link>http://www.settorezero.com/wordpress/user-project-gestione-lcd-con-controllo-di-stato/comment-page-1/#comment-13950</link>
		<dc:creator>OrazioBellassai</dc:creator>
		<pubDate>Thu, 26 Jan 2012 14:37:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4552#comment-13950</guid>
		<description>Ciao a tutti :) Scrivo qui perchè non riesco a fare funzionare la libreria :( Può essere utile postare il main  e le impostazioni della libreria?</description>
		<content:encoded><![CDATA[<p>Ciao a tutti :) Scrivo qui perchè non riesco a fare funzionare la libreria :( Può essere utile postare il main  e le impostazioni della libreria?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su ORbit16™ &#8211; Libreria EEprom I2C di Augusto Marinucci</title>
		<link>http://www.settorezero.com/wordpress/orbit16%e2%84%a2-libreria-eeprom-i2c/comment-page-1/#comment-13949</link>
		<dc:creator>Augusto Marinucci</dc:creator>
		<pubDate>Wed, 25 Jan 2012 22:34:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=4641#comment-13949</guid>
		<description>Cercavo proprio una libreria per le eeprom.Grazie</description>
		<content:encoded><![CDATA[<p>Cercavo proprio una libreria per le eeprom.Grazie</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 12 (Parte 1/3) – Il modulo MSSP e la comunicazione I2C &#8211; Principi di funzionamento di djlorenz</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-12-parte-1-il-modulo-mssp-e-la-comunicazione-i2c-principi-di-funzionamento/comment-page-1/#comment-13946</link>
		<dc:creator>djlorenz</dc:creator>
		<pubDate>Mon, 23 Jan 2012 22:08:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=2674#comment-13946</guid>
		<description>il sito microchip è un labirinto ma generlamente è facile accedere a tutto, di solito quello che cerchi lo trovi scrivendo microchip.com/quellochevuoicercare

oppure è sempre nel top delle pagine di google, quindi basta una ricerca ;)

ciao!</description>
		<content:encoded><![CDATA[<p>il sito microchip è un labirinto ma generlamente è facile accedere a tutto, di solito quello che cerchi lo trovi scrivendo microchip.com/quellochevuoicercare</p>
<p>oppure è sempre nel top delle pagine di google, quindi basta una ricerca ;)</p>
<p>ciao!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 12 (Parte 1/3) – Il modulo MSSP e la comunicazione I2C &#8211; Principi di funzionamento di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-12-parte-1-il-modulo-mssp-e-la-comunicazione-i2c-principi-di-funzionamento/comment-page-1/#comment-13945</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Mon, 23 Jan 2012 05:42:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=2674#comment-13945</guid>
		<description>Di quali librerie parli?</description>
		<content:encoded><![CDATA[<p>Di quali librerie parli?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 12 (Parte 1/3) – Il modulo MSSP e la comunicazione I2C &#8211; Principi di funzionamento di odessos</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-12-parte-1-il-modulo-mssp-e-la-comunicazione-i2c-principi-di-funzionamento/comment-page-1/#comment-13944</link>
		<dc:creator>odessos</dc:creator>
		<pubDate>Sun, 22 Jan 2012 21:32:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=2674#comment-13944</guid>
		<description>Saluti a tutti e buon anno.
Maledeto sito della microchip... è un labirinto!
qualcuno sa dirmi dove trovare una pagina con le librerie da scaricare?</description>
		<content:encoded><![CDATA[<p>Saluti a tutti e buon anno.<br />
Maledeto sito della microchip&#8230; è un labirinto!<br />
qualcuno sa dirmi dove trovare una pagina con le librerie da scaricare?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su Corso programmazione PICMicro in C – Lezione 8 – Pilotare i display a led a 7 segmenti in modalità multiplex su interrupt del Timer0. Realizziamo un contatore up/down di michele r.</title>
		<link>http://www.settorezero.com/wordpress/corso-programmazione-picmicro-in-c-lezione-8-pilotare-i-display-a-led-a-7-segmenti-in-modalita-multiplex-su-interrupt-del-timer0-realizziamo-un-contatore-up-down/comment-page-2/#comment-13941</link>
		<dc:creator>michele r.</dc:creator>
		<pubDate>Sat, 21 Jan 2012 06:38:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=1868#comment-13941</guid>
		<description>Complimenti Giovanni,
Veramente chiaro e ben fatto.
&quot;smanetto&quot; software da tanti anni, dai tempi del vic20 e da qualche mese in C.
Allora era tutto più complicato. . . . . . . . non c&#039;erano i vari giovanni. . . . . e mauro a. . . . .
caffe pagato!</description>
		<content:encoded><![CDATA[<p>Complimenti Giovanni,<br />
Veramente chiaro e ben fatto.<br />
&#8220;smanetto&#8221; software da tanti anni, dai tempi del vic20 e da qualche mese in C.<br />
Allora era tutto più complicato. . . . . . . . non c&#8217;erano i vari giovanni. . . . . e mauro a. . . . .<br />
caffe pagato!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su La gestione degli interrupt sui pic12 &#8211; pic16 &#8211; pic18 &#8211; pic24 &#8211; dspic di nmira</title>
		<link>http://www.settorezero.com/wordpress/la-gestione-degli-interrupt-sui-pic12-pic16-pic18-pic24-dspic/comment-page-1/#comment-13940</link>
		<dc:creator>nmira</dc:creator>
		<pubDate>Fri, 20 Jan 2012 23:28:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?p=3231#comment-13940</guid>
		<description>grazie per la risposta,la scheda che utilizzava il lettore che devo emulare utilizza uno Z80  a 4.8Mhz e fa parte di un vecchio dispositivo tipo CNC che devo far ripartire per riprendere i vecchi programmi memorizzati sui nastri (molto simili alle vecchie cassette audio) ed eventualmente ripristinare il macchinario collegandolo ad un Pc.Avevo iniziato il lavoro con Arduino e poi avendo notato che la velocità del polling era troppo bassa ho cercato e mi sono imbattuto nel chipkit Max32.Ho dovuto comunque cambiare la frequenza dello Z80 (2Mhz max) per poter avere un risultato soddisfacente, purtroppo perdo dei collegamenti  ad altri dispositivi collegati in RS232 e questo mi penalizza.Il progetto è molto semplice, ho due porte da 8bit,una di comandi e l&#039;altra di dati,a seconda di quando viene selezionato il dispositivo vengono scatenate delle risposte che abilitano la scrittura o la lettura dei 
ti posto il codice del programma,scusate gli orrori ma sono abituato ad altri sistemi di programmazione  che non hanno problemi di RAM,STACK ecc..
il ciclo di selezione avviene ad una frequenza di circa 180khz per la durata di 1microsec,all&#039;interno del quale devo attendere il fronte di discesa del clock per il sincronismo di lettura scrittura dati.

boolean tea = false;
boolean emulator=false;
boolean firstTime=false;

boolean client=false;
unsigned char c=0x0;

//---------------------------------------------------------
// definizione degli output per comandi
//---------------------------------------------------------

const int dma_ack = 44;  
const int dma_req = 45;  
const int G = 46;        
const int DIR = 47;     
const int MAX_BUFF_WRT =1024;
byte dato=0;
byte datiDaLeggere=0xfd;
byte datiLetti[0xff];
byte data[0xff];
byte dataRead[0xff];
byte indexItr=0;
boolean comunicazione=false;//false =seriale true =tcp
boolean ciclo=true;
byte bufSerialeWrite[MAX_BUFF_WRT];
byte bufSerialeWriteTot[MAX_BUFF_WRT];
byte bufSerialeRead[MAX_BUFF_WRT];
byte bufSerialeReadTot[MAX_BUFF_WRT];
byte bufRicezione[100];
static long contatore=0;
static boolean controllo=true;
byte i=0;
byte tipoOperazione=0;
byte type=2;
byte inByte=0x0;
byte indice=0x0;
byte maxElementi=8;
byte elemento=0;

void setup()
{
 // disabilitazione ingressi analogici
   AD1PCFG=0xffff;
 // porta dati
   TRISE=0xff;
 //porta comandi   
   TRISB=0xff;
   pinMode(G,OUTPUT);
   pinMode(DIR,OUTPUT);
   digitalWrite(G,HIGH);
   digitalWrite(DIR,HIGH);
   pinMode( dma_ack,OUTPUT);
   pinMode(dma_req,INPUT);   
   memset(bufSerialeWrite,0x0,MAX_BUFF_WRT);
   bufSerialeWrite[0]=0xdb;
   bufSerialeWrite[51]=0xfb;
   memset(bufSerialeRead,0x0,MAX_BUFF_WRT);
   bufSerialeRead[0]=0xdb;
   bufSerialeRead[51]=0xfb;
   memset(bufSerialeWriteTot,0x0,MAX_BUFF_WRT);
   memset(bufSerialeReadTot,0x0,MAX_BUFF_WRT);
   memset(bufRicezione,0x0,sizeof(unsigned char)*100);
   Serial.begin(115000);
   Serial.flush();
   digitalWrite( dma_ack,HIGH);
   memset(dataRead,0x0,0xff);
   memset(data,0x0,0xff); 
}

void loop()
{

    while (ciclo) 
    {
       if(!firstTime)
       {  
        Version(2);
        firstTime=true;
        digitalWrite(G, HIGH);
        
        memset(bufRicezione,0x0,sizeof(unsigned char)*100);
        char myString[] = &quot;**** READY ****&quot;;
        memcpy(bufRicezione,myString,strlen(myString));
        Serial.flush();
        Serial.write(bufRicezione,100);  
        delay(100);
         memset(bufRicezione,0x0,sizeof(unsigned char)*100);
       }  
       dato=0;
       
     
     int a=Serial.available();
     
     if(a &gt;99)
       {
         for(byte ricezione=0;ricezione&lt;a;ricezione++)
         {
           bufRicezione[ricezione]=Serial.read();
         }
         Serial.flush();
        
         c = bufRicezione[0];
        
        if (c == 0x41 &amp;&amp; !emulator)//A
            {
            digitalWrite(G, HIGH);
            delay(200);
            pinMode( dma_ack,INPUT);
            TRISB=0xf7;
            TRISE=0xff;
            emulator=true;
            digitalWrite(DIR, LOW);  
            digitalWrite(G, LOW);
            tea=false;
            char myString[] = &quot;****  EMULATOR  ****&quot;;
            memcpy(bufRicezione,myString,strlen(myString));
            Serial.flush();
            Serial.write(bufRicezione,100);  
            delay(100);
            }
      
         if(c == 0x71 )//q
             {
             
                digitalWrite(G,HIGH); 
                char myString[] = &quot;****  END TAPE   ****&quot;;
                memcpy(bufRicezione,myString,strlen(myString));
                Serial.flush();
                Serial.write(bufRicezione,100);  
                delay(200);
                Serial.end();
                ciclo=false;
                tea=false; 
                emulator=false;   
            }    
      

         if(!tea)
          {
            
             if (c == 0x43 &amp;&amp; emulator)//C
               {

                   
                 controllo=true;
                 contatore=0;  
                 Leggo(dato);
                 delay(1500);
                 
                   
               }
              
              
            // azzera i buffer globali
            if ((c == 0x25) &amp;&amp; emulator)
               { 
                  memset(bufSerialeWriteTot,0x0,MAX_BUFF_WRT);
                  memset(bufSerialeReadTot,0x0,MAX_BUFF_WRT);
                  memset(bufRicezione,0x0,sizeof(unsigned char)*100);
               }

            // ritorna il cmd inviato x verificare che l&#039;operazione precedente sia conclusa
            if ((c == 0x20) &amp;&amp; emulator)
               { 
                  Serial.flush();
                  Serial.write(bufRicezione,100);  
                  memset(bufRicezione,0x0,sizeof(unsigned char)*100);
               }
               
            
            

           }        
          
      }
     
        
    }
      Serial.println(&quot;**** !!!!!!!!!!!!!! ****&quot;); 
    delay(10);
    Serial.end();
    
  
}
/////////////////////////////////////////////////////////////
void Version(byte flag)
{
  byte i=0x0;
   digitalWrite(G, HIGH);
  for (i=0x0;i&lt;=flag;i++)
   {
     //Clock();
   digitalWrite(DIR, LOW);
   delay(100);
   digitalWrite(DIR, HIGH);
  delay(400);  
  }
   digitalWrite(DIR, LOW);
   memset(bufRicezione,0x0,sizeof(unsigned char)*100);
   char myString[] = &quot;**** Ver. 1.0 ****&quot;;
   memcpy(bufRicezione,myString,strlen(myString));     
   Serial.write(bufRicezione,100); 
   delay(500); 
  

}

//////////////////////////////////////////////////////////////////////////
void Leggo(byte flag)
{
  byte val=0x0;
  byte slk=0x0;
  byte ck=0x0;
  boolean dt=false;
  byte asa=0x0;
  boolean flago= true;
  byte fISR=0x0;
  byte bufSeriale[256];
  int indexBuf=0;
  int ix=0x0;
  byte date[1024];
  byte sette=0x0;
  boolean datoPreparato=false;
  boolean dueCk=false;
  int i=0;
  memset(date,0x0,1024);
  if(controllo)dt=false;
  fISR=2;

  do
  {
    do
    {
     val=PORTB;
     slk=(val&amp;0x20);
     if(!controllo)contatore++;  //controllo in caso di errore
     
    }while((slk==0x20)&amp;&amp;(contatore&lt;200000));  // fronte discesa bit selezione   
   
   if(contatore=200000)
   {
  	ck=1;
  	dt=true;
	}

   if((!ck )&amp;&amp;(flago))
   {
     flago=false;
     date[ix]=val;
     ix=ix+1;
      if(val==0x83)//cassette status register 
      {
       TRISE=0x00;//dati in lettura   
       PORTE=0xff;  
       }

     if(val==0x81)//Isr
     {
       TRISE=0x00;//dati in lettura
       
       if(fISR==1) 
       {
          PORTE=0x7f;
          if(flag==7)dt=true;
       }
     } 
   
      if(val==0x95)//cmd
      {
        TRISE=0xff; //dati in scrittura
        asa=PORTE;
        if(asa==0x3e)
        {
          fISR=1;
        } 
        date[ix]=asa;
        ix=ix+1;
      } 
    
      if(val==0x97)//cmd
      {
        TRISE=0xff;
        bufSerialeWrite[indexBuf]=PORTE;
        indexBuf=indexBuf+1;
        if(indexBuf&gt;94)dt=true;  
      }
    

   }
   
   
   do
   {
     val=PORTB;
     ck=(val&amp;0x40);
   }while(ck!=0x40);  // fronte salita clock  
    
    flago=true;
  }
    while(!dt);
   TRISE=0x00;
   PORTE=0x0;
   TRISE=0xff;
   
   
   Serial.write(date,100);
   
}

/////////////////////////////////////////////////////////////
void IniComandi(void)
{
 digitalWrite(G, HIGH);
 delay(200);
 digitalWrite(DIR, HIGH);
 TRISB=0x8; 
 digitalWrite(G, LOW);
 delayMicroseconds(1);
}
/////////////////////////////////////////////////////////////
void IniDati(void)
{
  PORTE=0xff;
  delayMicroseconds(1);
}
/////////////////////////////////////////////////////////////
void WrtComandi(unsigned int val)
{
//unsigned int app=0x0;
//app=PORTB&gt;&gt;8;
//PORTB=val&#124;(app &lt;&lt; 8);
PORTB=val;
delayMicroseconds(1);
}
//////////////////////////////////////////////////////////
void  WrtDati(byte val)
{
PORTE=val;
delayMicroseconds(1);
}
//////////////////////////////////////////////////////////
byte  RdDati(void)
{
byte valore=0x0;
valore=PORTE;
//valore=LATSESET;
return valore;

}
/////////////////////////////////////////////////////////////

int Setto_dati(int mode)
{
  if(mode==0)
  {  
    TRISE=0xffff;
  }
  else
  {
    TRISE=0x00; 
  }
  delayMicroseconds(1);
  return 0;
}</description>
		<content:encoded><![CDATA[<p>grazie per la risposta,la scheda che utilizzava il lettore che devo emulare utilizza uno Z80  a 4.8Mhz e fa parte di un vecchio dispositivo tipo CNC che devo far ripartire per riprendere i vecchi programmi memorizzati sui nastri (molto simili alle vecchie cassette audio) ed eventualmente ripristinare il macchinario collegandolo ad un Pc.Avevo iniziato il lavoro con Arduino e poi avendo notato che la velocità del polling era troppo bassa ho cercato e mi sono imbattuto nel chipkit Max32.Ho dovuto comunque cambiare la frequenza dello Z80 (2Mhz max) per poter avere un risultato soddisfacente, purtroppo perdo dei collegamenti  ad altri dispositivi collegati in RS232 e questo mi penalizza.Il progetto è molto semplice, ho due porte da 8bit,una di comandi e l&#8217;altra di dati,a seconda di quando viene selezionato il dispositivo vengono scatenate delle risposte che abilitano la scrittura o la lettura dei<br />
ti posto il codice del programma,scusate gli orrori ma sono abituato ad altri sistemi di programmazione  che non hanno problemi di RAM,STACK ecc..<br />
il ciclo di selezione avviene ad una frequenza di circa 180khz per la durata di 1microsec,all&#8217;interno del quale devo attendere il fronte di discesa del clock per il sincronismo di lettura scrittura dati.</p>
<p>boolean tea = false;<br />
boolean emulator=false;<br />
boolean firstTime=false;</p>
<p>boolean client=false;<br />
unsigned char c=0&#215;0;</p>
<p>//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
// definizione degli output per comandi<br />
//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>const int dma_ack = 44;<br />
const int dma_req = 45;<br />
const int G = 46;<br />
const int DIR = 47;<br />
const int MAX_BUFF_WRT =1024;<br />
byte dato=0;<br />
byte datiDaLeggere=0xfd;<br />
byte datiLetti[0xff];<br />
byte data[0xff];<br />
byte dataRead[0xff];<br />
byte indexItr=0;<br />
boolean comunicazione=false;//false =seriale true =tcp<br />
boolean ciclo=true;<br />
byte bufSerialeWrite[MAX_BUFF_WRT];<br />
byte bufSerialeWriteTot[MAX_BUFF_WRT];<br />
byte bufSerialeRead[MAX_BUFF_WRT];<br />
byte bufSerialeReadTot[MAX_BUFF_WRT];<br />
byte bufRicezione[100];<br />
static long contatore=0;<br />
static boolean controllo=true;<br />
byte i=0;<br />
byte tipoOperazione=0;<br />
byte type=2;<br />
byte inByte=0&#215;0;<br />
byte indice=0&#215;0;<br />
byte maxElementi=8;<br />
byte elemento=0;</p>
<p>void setup()<br />
{<br />
 // disabilitazione ingressi analogici<br />
   AD1PCFG=0xffff;<br />
 // porta dati<br />
   TRISE=0xff;<br />
 //porta comandi<br />
   TRISB=0xff;<br />
   pinMode(G,OUTPUT);<br />
   pinMode(DIR,OUTPUT);<br />
   digitalWrite(G,HIGH);<br />
   digitalWrite(DIR,HIGH);<br />
   pinMode( dma_ack,OUTPUT);<br />
   pinMode(dma_req,INPUT);<br />
   memset(bufSerialeWrite,0&#215;0,MAX_BUFF_WRT);<br />
   bufSerialeWrite[0]=0xdb;<br />
   bufSerialeWrite[51]=0xfb;<br />
   memset(bufSerialeRead,0&#215;0,MAX_BUFF_WRT);<br />
   bufSerialeRead[0]=0xdb;<br />
   bufSerialeRead[51]=0xfb;<br />
   memset(bufSerialeWriteTot,0&#215;0,MAX_BUFF_WRT);<br />
   memset(bufSerialeReadTot,0&#215;0,MAX_BUFF_WRT);<br />
   memset(bufRicezione,0&#215;0,sizeof(unsigned char)*100);<br />
   Serial.begin(115000);<br />
   Serial.flush();<br />
   digitalWrite( dma_ack,HIGH);<br />
   memset(dataRead,0&#215;0,0xff);<br />
   memset(data,0&#215;0,0xff);<br />
}</p>
<p>void loop()<br />
{</p>
<p>    while (ciclo)<br />
    {<br />
       if(!firstTime)<br />
       {<br />
        Version(2);<br />
        firstTime=true;<br />
        digitalWrite(G, HIGH);</p>
<p>        memset(bufRicezione,0&#215;0,sizeof(unsigned char)*100);<br />
        char myString[] = &#8220;**** READY ****&#8221;;<br />
        memcpy(bufRicezione,myString,strlen(myString));<br />
        Serial.flush();<br />
        Serial.write(bufRicezione,100);<br />
        delay(100);<br />
         memset(bufRicezione,0&#215;0,sizeof(unsigned char)*100);<br />
       }<br />
       dato=0;</p>
<p>     int a=Serial.available();</p>
<p>     if(a &gt;99)<br />
       {<br />
         for(byte ricezione=0;ricezione&lt;a;ricezione++)<br />
         {<br />
           bufRicezione[ricezione]=Serial.read();<br />
         }<br />
         Serial.flush();</p>
<p>         c = bufRicezione[0];</p>
<p>        if (c == 0&#215;41 &amp;&amp; !emulator)//A<br />
            {<br />
            digitalWrite(G, HIGH);<br />
            delay(200);<br />
            pinMode( dma_ack,INPUT);<br />
            TRISB=0xf7;<br />
            TRISE=0xff;<br />
            emulator=true;<br />
            digitalWrite(DIR, LOW);<br />
            digitalWrite(G, LOW);<br />
            tea=false;<br />
            char myString[] = &quot;****  EMULATOR  ****&quot;;<br />
            memcpy(bufRicezione,myString,strlen(myString));<br />
            Serial.flush();<br />
            Serial.write(bufRicezione,100);<br />
            delay(100);<br />
            }</p>
<p>         if(c == 0&#215;71 )//q<br />
             {</p>
<p>                digitalWrite(G,HIGH);<br />
                char myString[] = &quot;****  END TAPE   ****&quot;;<br />
                memcpy(bufRicezione,myString,strlen(myString));<br />
                Serial.flush();<br />
                Serial.write(bufRicezione,100);<br />
                delay(200);<br />
                Serial.end();<br />
                ciclo=false;<br />
                tea=false;<br />
                emulator=false;<br />
            }    </p>
<p>         if(!tea)<br />
          {</p>
<p>             if (c == 0&#215;43 &amp;&amp; emulator)//C<br />
               {</p>
<p>                 controllo=true;<br />
                 contatore=0;<br />
                 Leggo(dato);<br />
                 delay(1500);</p>
<p>               }</p>
<p>            // azzera i buffer globali<br />
            if ((c == 0&#215;25) &amp;&amp; emulator)<br />
               {<br />
                  memset(bufSerialeWriteTot,0&#215;0,MAX_BUFF_WRT);<br />
                  memset(bufSerialeReadTot,0&#215;0,MAX_BUFF_WRT);<br />
                  memset(bufRicezione,0&#215;0,sizeof(unsigned char)*100);<br />
               }</p>
<p>            // ritorna il cmd inviato x verificare che l&#039;operazione precedente sia conclusa<br />
            if ((c == 0&#215;20) &amp;&amp; emulator)<br />
               {<br />
                  Serial.flush();<br />
                  Serial.write(bufRicezione,100);<br />
                  memset(bufRicezione,0&#215;0,sizeof(unsigned char)*100);<br />
               }</p>
<p>           }        </p>
<p>      }</p>
<p>    }<br />
      Serial.println(&quot;**** !!!!!!!!!!!!!! ****&quot;);<br />
    delay(10);<br />
    Serial.end();</p>
<p>}<br />
/////////////////////////////////////////////////////////////<br />
void Version(byte flag)<br />
{<br />
  byte i=0&#215;0;<br />
   digitalWrite(G, HIGH);<br />
  for (i=0&#215;0;i&lt;=flag;i++)<br />
   {<br />
     //Clock();<br />
   digitalWrite(DIR, LOW);<br />
   delay(100);<br />
   digitalWrite(DIR, HIGH);<br />
  delay(400);<br />
  }<br />
   digitalWrite(DIR, LOW);<br />
   memset(bufRicezione,0&#215;0,sizeof(unsigned char)*100);<br />
   char myString[] = &quot;**** Ver. 1.0 ****&quot;;<br />
   memcpy(bufRicezione,myString,strlen(myString));<br />
   Serial.write(bufRicezione,100);<br />
   delay(500); </p>
<p>}</p>
<p>//////////////////////////////////////////////////////////////////////////<br />
void Leggo(byte flag)<br />
{<br />
  byte val=0&#215;0;<br />
  byte slk=0&#215;0;<br />
  byte ck=0&#215;0;<br />
  boolean dt=false;<br />
  byte asa=0&#215;0;<br />
  boolean flago= true;<br />
  byte fISR=0&#215;0;<br />
  byte bufSeriale[256];<br />
  int indexBuf=0;<br />
  int ix=0&#215;0;<br />
  byte date[1024];<br />
  byte sette=0&#215;0;<br />
  boolean datoPreparato=false;<br />
  boolean dueCk=false;<br />
  int i=0;<br />
  memset(date,0&#215;0,1024);<br />
  if(controllo)dt=false;<br />
  fISR=2;</p>
<p>  do<br />
  {<br />
    do<br />
    {<br />
     val=PORTB;<br />
     slk=(val&amp;0&#215;20);<br />
     if(!controllo)contatore++;  //controllo in caso di errore</p>
<p>    }while((slk==0&#215;20)&amp;&amp;(contatore&lt;200000));  // fronte discesa bit selezione   </p>
<p>   if(contatore=200000)<br />
   {<br />
  	ck=1;<br />
  	dt=true;<br />
	}</p>
<p>   if((!ck )&amp;&amp;(flago))<br />
   {<br />
     flago=false;<br />
     date[ix]=val;<br />
     ix=ix+1;<br />
      if(val==0&#215;83)//cassette status register<br />
      {<br />
       TRISE=0&#215;00;//dati in lettura<br />
       PORTE=0xff;<br />
       }</p>
<p>     if(val==0&#215;81)//Isr<br />
     {<br />
       TRISE=0&#215;00;//dati in lettura</p>
<p>       if(fISR==1)<br />
       {<br />
          PORTE=0&#215;7f;<br />
          if(flag==7)dt=true;<br />
       }<br />
     } </p>
<p>      if(val==0&#215;95)//cmd<br />
      {<br />
        TRISE=0xff; //dati in scrittura<br />
        asa=PORTE;<br />
        if(asa==0&#215;3e)<br />
        {<br />
          fISR=1;<br />
        }<br />
        date[ix]=asa;<br />
        ix=ix+1;<br />
      } </p>
<p>      if(val==0&#215;97)//cmd<br />
      {<br />
        TRISE=0xff;<br />
        bufSerialeWrite[indexBuf]=PORTE;<br />
        indexBuf=indexBuf+1;<br />
        if(indexBuf&gt;94)dt=true;<br />
      }</p>
<p>   }</p>
<p>   do<br />
   {<br />
     val=PORTB;<br />
     ck=(val&amp;0&#215;40);<br />
   }while(ck!=0&#215;40);  // fronte salita clock  </p>
<p>    flago=true;<br />
  }<br />
    while(!dt);<br />
   TRISE=0&#215;00;<br />
   PORTE=0&#215;0;<br />
   TRISE=0xff;</p>
<p>   Serial.write(date,100);</p>
<p>}</p>
<p>/////////////////////////////////////////////////////////////<br />
void IniComandi(void)<br />
{<br />
 digitalWrite(G, HIGH);<br />
 delay(200);<br />
 digitalWrite(DIR, HIGH);<br />
 TRISB=0&#215;8;<br />
 digitalWrite(G, LOW);<br />
 delayMicroseconds(1);<br />
}<br />
/////////////////////////////////////////////////////////////<br />
void IniDati(void)<br />
{<br />
  PORTE=0xff;<br />
  delayMicroseconds(1);<br />
}<br />
/////////////////////////////////////////////////////////////<br />
void WrtComandi(unsigned int val)<br />
{<br />
//unsigned int app=0&#215;0;<br />
//app=PORTB&gt;&gt;8;<br />
//PORTB=val|(app &lt;&lt; 8);<br />
PORTB=val;<br />
delayMicroseconds(1);<br />
}<br />
//////////////////////////////////////////////////////////<br />
void  WrtDati(byte val)<br />
{<br />
PORTE=val;<br />
delayMicroseconds(1);<br />
}<br />
//////////////////////////////////////////////////////////<br />
byte  RdDati(void)<br />
{<br />
byte valore=0&#215;0;<br />
valore=PORTE;<br />
//valore=LATSESET;<br />
return valore;</p>
<p>}<br />
/////////////////////////////////////////////////////////////</p>
<p>int Setto_dati(int mode)<br />
{<br />
  if(mode==0)<br />
  {<br />
    TRISE=0xffff;<br />
  }<br />
  else<br />
  {<br />
    TRISE=0&#215;00;<br />
  }<br />
  delayMicroseconds(1);<br />
  return 0;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commenti su I vostri progetti di Giovanni Bernardo</title>
		<link>http://www.settorezero.com/wordpress/info/i-vostri-progetti/comment-page-1/#comment-13938</link>
		<dc:creator>Giovanni Bernardo</dc:creator>
		<pubDate>Fri, 20 Jan 2012 18:18:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.settorezero.com/wordpress/?page_id=3683#comment-13938</guid>
		<description>Possono interessare progetti realizzati dal vero, funzionanti.</description>
		<content:encoded><![CDATA[<p>Possono interessare progetti realizzati dal vero, funzionanti.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

