<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SoftwareSerial Archives - Esperimenti con logiche programmabili</title>
	<atom:link href="https://logicaprogrammabile.it/tag/softwareserial/feed/" rel="self" type="application/rss+xml" />
	<link>https://logicaprogrammabile.it/tag/softwareserial/</link>
	<description>Tutorial in italiano per imparare a programmare usando Arduino, Raspberry PI, Netduino</description>
	<lastBuildDate>Sun, 15 Jan 2017 17:17:13 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://logicaprogrammabile.it/wp-content/uploads/2017/11/cropped-logicaprogrammabile-logo-02-32x32.png</url>
	<title>SoftwareSerial Archives - Esperimenti con logiche programmabili</title>
	<link>https://logicaprogrammabile.it/tag/softwareserial/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ListComPort elencare la porte com associate ad Arduino</title>
		<link>https://logicaprogrammabile.it/listcomport-elencare-port-com-rs232-arduino/</link>
					<comments>https://logicaprogrammabile.it/listcomport-elencare-port-com-rs232-arduino/#comments</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Wed, 30 Jan 2013 08:48:28 +0000</pubDate>
				<category><![CDATA[Notizie]]></category>
		<category><![CDATA[Esperimenti]]></category>
		<category><![CDATA[SoftwareSerial]]></category>
		<category><![CDATA[Utilizzo]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=3284</guid>

					<description><![CDATA[<p>ListComPort è l&#8217;utility per chi lavora spesso con Arduino Spesso mi capita di usare diversi tipi di Arduino collegati allo stesso pc e diventa abbastanza frustrante capire quale sia la relativa porta COM, dato che nell&#8217;IDE viene elencato il nome della porta senza la descrizione...</p>
<p>The post <a href="https://logicaprogrammabile.it/listcomport-elencare-port-com-rs232-arduino/">ListComPort elencare la porte com associate ad Arduino</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>ListComPort è l&#8217;utility per chi lavora spesso con Arduino</h3>
<p>Spesso mi capita di usare <strong>diversi tipi di Arduino</strong> collegati allo stesso pc e diventa abbastanza frustrante capire quale sia la <strong>relativa porta COM</strong>, dato che nell&#8217;IDE viene elencato il nome della porta senza la descrizione del tipo di dispositivo associato.<br />
Quindi devo accedere a <strong>gestione dispositivi</strong> e controllare nella voce <strong>Port (COM e LPT)</strong> quale sia questa associazione, in modo da caricare gli sketch sui giusto relativi dispositivi.<br />
Il problema poi aumenta quando collego e scollego le schede dalla porta usb, magari invertendo l&#8217;ordine sulle porte, ottenendo così nuovi assegnamenti di COM che mi costringono a tenere aperta la finestra gestione dispositivi.</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-3287" alt="ListComPort" src="https://logicaprogrammabile.it/wp-content/uploads/2013/01/ListComPort.png" width="462" height="356" srcset="https://logicaprogrammabile.it/wp-content/uploads/2013/01/ListComPort.png 462w, https://logicaprogrammabile.it/wp-content/uploads/2013/01/ListComPort-300x231.png 300w" sizes="(max-width: 462px) 100vw, 462px" /></p>
<p>Ho scritto una piccola utility che elenca le porte COM con la descrizione del dispositivo collegato, in questo modo lavoro meglio e quando ricollego le schede posso cliccare sul pulsante aggiorna per ottenere la nuova lista aggiornata.</p>
<p>Magari capita anche a voi questa situazione e quindi potrebbe esservi utile usare questo programmino!</p>
<p>Il software è stato testato su Windows 7 e Windows XP e richiede l&#8217;installazione del .NET framework 4.0</p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2013/01/ListCOMport.exe">Scarica ListCOMport.exe circa 50KB</a></p>
<p><a href="https://logicaprogrammabile.it/wp-content/uploads/2013/01/ListCOMport_EN.exe">Download ListCOMport_English Version</a></p>
<p>Graditi feedback!</p>
<p>The post <a href="https://logicaprogrammabile.it/listcomport-elencare-port-com-rs232-arduino/">ListComPort elencare la porte com associate ad Arduino</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/listcomport-elencare-port-com-rs232-arduino/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>Arduino aggiungere porta seriale con Software Serial Library</title>
		<link>https://logicaprogrammabile.it/software-serial-library-arduino-seriale/</link>
					<comments>https://logicaprogrammabile.it/software-serial-library-arduino-seriale/#respond</comments>
		
		<dc:creator><![CDATA[Marco Lai]]></dc:creator>
		<pubDate>Fri, 26 Aug 2011 09:16:41 +0000</pubDate>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Tutorial Arduino]]></category>
		<category><![CDATA[Comunicazione seriale]]></category>
		<category><![CDATA[RS232]]></category>
		<category><![CDATA[Software Serial Library]]></category>
		<category><![CDATA[SoftwareSerial]]></category>
		<category><![CDATA[UART]]></category>
		<guid isPermaLink="false">https://logicaprogrammabile.it/?p=1872</guid>

					<description><![CDATA[<p>Utilizzare Software Serial Library per aggiungere una porta seriale La comunicazione seriale RS232 è un modo semplice per permettere alla nostra board Arduino di comunicare con il computer piuttosto che con sensori o altri dispositivi. Principalmente Arduino UNO possiede una sola porta seriale, implementata in...</p>
<p>The post <a href="https://logicaprogrammabile.it/software-serial-library-arduino-seriale/">Arduino aggiungere porta seriale con Software Serial Library</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Utilizzare Software Serial Library per aggiungere una porta seriale</h1>
<p>La comunicazione seriale <strong>RS232</strong> è un modo semplice per permettere alla nostra board Arduino di comunicare con il computer piuttosto che con sensori o altri dispositivi.<br />
Principalmente Arduino UNO possiede una sola porta seriale, implementata in hardware sul chip Atmega328, e disponibile sui <strong>pin0 (Rx)</strong> e <strong>pin1 (Tx)</strong> della scheda.<br />
Sebbene, il più delle volte, una porta seriale sia sufficiente, può essere necessario instaurare un&#8217;ulteriore comunicazione seriale, ad esempio, per motivi di debugging o monitoring con un altro dispositivo o computer.<br />
In questo caso ci viene in aiuto la libreria <strong>SoftwareSerial (Software Serial Library)</strong> che permette di impiegare ulteriori pin disponibili sulla scheda per definire una porta seriale aggiuntiva.</p>
<p>Per utilizzarla è fondamentale inserire nello sketch il riferimento alla libreria tramite la parola chiave <strong>#include</strong>:</p>
<pre class="lang:arduino decode:true ">#include &lt;SoftwareSerial.h&gt;</pre>
<p>successivamente si definisce una variabile utilizzando il costruttore <strong>SoftwareSerial</strong>:</p>
<pre class="lang:arduino decode:true ">SoftwareSerial PortaSeriale = SoftwareSerial(pin_RX, pin_TX);</pre>
<p>&nbsp;</p>
<p>dove <span style="text-decoration: underline;">PortaSeriale</span> è il nome dell&#8217;oggetto, <span style="text-decoration: underline;">pin_RX</span> definisce il pin per ricevere i dati e <span style="text-decoration: underline;">pin_TX</span> definisce il pin per la trasmissione dati.</p>
<p><span id="more-1872"></span>Ora nella funzione Setup(), tramite pinMode, definiamo il pin previsto per la ricezione come input, e il pin previsto per la trasmissione come output. Specifichiamo inoltre la velocità di trasmissione a 9600bps.</p>
<pre class="lang:arduino decode:true ">void setup()
{
pinMode(pin_RX, INPUT);
pinMode(pin_TX, OUTPUT);

PortaSeriale.begin(9600);
}</pre>
<p>&nbsp;</p>
<p>Per leggere e scrivere sulla seriale vengono utilizzati gli stessi metodi implementati per Serial().</p>
<p>Di seguito l&#8217;esempio completo che permette di testare questa funzionalità impiegando i pin7 per la ricezione ed il pin8 per la trasmissione</p>
<pre class="lang:arduino decode:true ">#include &lt;SoftwareSerial.h&gt;

//creo una nuova porta seriale via software
SoftwareSerial PortaSeriale =  SoftwareSerial(7, 8);

//variabile
char EchoChar = 0;

void setup()  {
//definisco il pin7(RX) come ingresso
pinMode(7, INPUT);
//definisco il pin8(TX) come uscita
pinMode(8, OUTPUT);
//setto la velocita della seriale software
PortaSeriale.begin(9600);
}

void loop() {
//leggo dalla seriale(pin7)
EchoChar = PortaSeriale.read();
//invio il dato letto
PortaSeriale.print(EchoChar);

delay(10);

}</pre>
<p>&nbsp;</p>
<p>il circuito di per il test è rappresentato nell&#8217;illustrazione seguente:</p>
<p><img decoding="async" class="aligncenter wp-image-1878 size-full" title="Arduino_SerialPrint" src="https://logicaprogrammabile.it/wp-content/uploads/2011/08/Arduino_SerialPrint.gif" alt="Utilizzo libreria SoftwareSerial per aggiungere una porta seriale ad Arduino" width="623" height="372" srcset="https://logicaprogrammabile.it/wp-content/uploads/2011/08/Arduino_SerialPrint.gif 623w, https://logicaprogrammabile.it/wp-content/uploads/2011/08/Arduino_SerialPrint-300x179.gif 300w" sizes="(max-width: 623px) 100vw, 623px" /></p>
<p>Avendo altri pin disponibili nulla ci vieta di definire un&#8217;ulteriore porta seriale o più.</p>
<p>Nonostante l&#8217;utilità di questa libreria, ci sono alcune limitazioni che bisogna conoscere, per evitare errori di programmazione e di progettazione:</p>
<ul>
<li>E&#8217; possibile utilizzare per la porta solamente la velocità di 9600bps</li>
<li>Non è possibile sapere se ci sono dati disponibili per la lettura come avviene per la funzione <strong>Serial.available()</strong></li>
<li>Il metodo<strong> read()</strong> è bloccante, quindi il codice si ferma fintanto che non arriva un byte da poter leggere</li>
<li>Non essendo presente un buffer di ricezione il metodo <strong>read()</strong> deve essere richiamato velocemente per evitare la perdita di dati.</li>
</ul>
<p>Queste limitazioni potrebbero far ripensare l&#8217;utilizzo della libreria, ma credo che sia comunque importante conoscerne il funzionamento per valutare, a seconda dei circuiti, se impiegarla o meno.<br />
Personalmente l&#8217;ho trovata molto utile per inviare dati ad altri dispositivi come funzione di monitoring, difatti potete utilizzare solamente la funzione <strong>print</strong> e tralasciare la read().</p>
<p>The post <a href="https://logicaprogrammabile.it/software-serial-library-arduino-seriale/">Arduino aggiungere porta seriale con Software Serial Library</a> appeared first on <a href="https://logicaprogrammabile.it">Esperimenti con logiche programmabili</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://logicaprogrammabile.it/software-serial-library-arduino-seriale/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
