CONNESSIONE
di una scheda a Microcontrollore al P.C.
La comunicazione avviene con protocollo RS232 via USB.
Viene utilizzata, per l’interfacciamento Hardware tra PC e
scheda a Microcontrollore, la scheda FTDI232.
Scheda FTDI232. PinOUT
La scheda consente il collegamento via USB (solitamente
tipo Mini) di un segnale seriale RS232.
Il protocollo RS232 è tra i più datati ed utilizzati in
ogni ambito dell’elettronica.
Tale Protocollo di comunicazione è implementato su tutte le
schede a Microcontrollore.
Descrizione
della scheda FTDI232.
Come è visibile dalla illustrazione, (Fig.1) la scheda è
munita di due connettori uno USB che andrà connesso al PC e l’altro a 6 pin
passo 2,54mm per il collegamento alla scheda a MCU. I 9+9 pad
disponibili sui due lati della scheda, danno una completa possibilità di
utilizzo in particolari condizioni che non saranno trattate in questi appunti.
Il connettore
consente un comodo mezzo per collegarsi tramite Breadboard.
Un Jumper a due posizioni, consente di selezionare la tensione
di lavoro della scheda da collegare, 3.3v oppure 5v.
Due led si illuminano quando avviene un trasferimento
dati. Un led in trasmissione ed uno in
ricezione.
Specifiche
collegamenti relativi alla scheda prodotta dalla ‘Az-Delivery’
(Per ulteriori specifiche della scheda,
consultare il relativo Data sheet)
I collegamenti che utilizzeremo, sono solo quattro. Vcc, GND, RX, TX. Tutti e quattro i pin sono disponibili
sul connettore di uscita a sei pin.
Per comunicare, PC e scheda a MCU hanno bisogno di
programmi che mettano in comunicazione i due circuiti.
Le schede programmabili hanno avuto negli ultimi anni una
diffusione massima grazie anche alla scheda Arduino che ha consentito anche ai
meno esperti del campo di portare a termine progetti di discipline molte volte
assolutamente lontane dalle conoscenze dell’elettronica programmabile.
Poter connettere il circuito programmabile ad un PC,
aumenta esponenzialmente le possibilità dei sistemi progettati.
Inutile elencare le numerosissime possibilità che si
aprono.
In questa ottica, per consentire all’ideatore dei progetti,
una più possibile semplice ma completa opportunità, si è pensato di
implementare la soluzione software relativa al PC con il notissimo e
relativamente semplice da usare linguaggio ‘Visual Basic’.
Per
questi appunti, utilizzeremo:
Lato
P.C. ---- Visual Basic Versione 2022
Lato
Scheda a Microcontrollore ---- linguaggio C.(Arduino
Uno)
Software di gestione su P.C.
ATTENZIONE! Prima di iniziare a realizzare
qualsiasi programma destinato a funzionare sul nostro PC, ricordiamoci di DISABILITARE QUALSIASI
DI FORMA DI ANTIVIRUS PRESENTE.
L’antivirus infatti è fatto per BLOCCARE qualsiasi
programma NON ‘certificato’ che gira sul computer.
Appena cercheremo quindi anche solo di provare il programma
che realizziamo, verrà bloccato e, molte volte senza avvertimenti da parte
dell’antivirus! Non spendo quindi l’origine del blocco, facilmente attribuiremo
la causa ad un nostro errore senza sapere che invece il blocco/malfunzionamento
è dovuto all’intervento dell’antivirus!
Una Nota di Attenzione alla scelta del tipo di programma da
scegliere. La scelta del tipo di programma è essenziale per realizzare una
comunicazione RS232. Infatti le tipologie ‘Framework .NET’ comprendono tra gli
oggetti utilizzabili il componente ‘SerialPort’
che fa parte della .NET componente(anche per VisualC
#!)
Dopo aver installato la suite Visual Studio 2022,
1) Creiamo
un nuovo Progetto
2) Scegliamo
‘App Windows Forms (.Net Framework) (naturalmente Visual Basic!)
Attenzione a non confondersi
3) Diamo
un nome al nuovo Progetto’Comm_8Bytes_RS232’ ed accettiamo/prendiamo nota del
percorso dove verrà creato il Software.
Dopo qualche secondo
apparirà la schermata seguente.
Se non appaiono le finestre alla destra:
Visualizza:
--Esplora Soluzioni
--Proprietà
--output
--Elenco errori
Le finestre vanno tenute aperte da qualche parte. Io trovo
comodo averle alla mia destra!
Se non dovesse apparire la Form1(finestra principale su cui
metteremo i comandi vari di gestione) click su Comm_UnBytes_RS232 nella
finestra ‘Esplora soluzioni e quindi doppio click su Form1.
Bene!
Possiamo iniziare a scrivere il programma.
N.B.
Le spiegazioni/indicazioni sono per un utente che non conosce il Visual Basic.
Naturalmente
chi ha già una certa esperienza potrà saltare oppure leggere velocemente quanto
segue.
Come prima progetto, vogliamo realizzare una soluzione il
più semplice possibile.
Lo schema del sistema sarà quello di Fig.1
Il Sistema avrà una finestra di Input dove l’operatore
metterà un dato di un byte.
Alla pressione di un tasto il dato verrà comunicato alla
scheda MCU che, restituirà lo stesso dato incrementato di uno.
Prima di partire con la comunicazione, l’operatore dovrà
specificare in una casella il numero di COMM che il Sistema Operativo ha
attribuito per il collegamento con la nostra scheda. 😊
Il link seguente per vedere il video. …………………………….
Collochiamo, innanzi tutto, nella nostra Form1, tutti gli
oggetti necessari.
Da Casella degli strumenti:
Selezioniamo i seguenti Srumenti
/ oggetti.
Un Bottone(Button)
Tre Etichette(Label)
Due caselle di testo(TextBox)
Un ComboBox
Un SerialPort
Dopo averli posizionati nella Form1:
Nota che lo
strumento SerialPort non è visibile. Infatti non è destinato ad essere visto
Con un Doppio Clik
sulla Form1, si aprirà il Listato del codice relativo al programma!
Notiamo che, in alto appare un nuovo TAB della
nuova finestra per il codice.
Ora possiamo passare dalla finestra Form1 a quella di
codice cliccando sui Tab.
(oppure, possiamo sempre aprire la finestra di codice con
doppio clik sulla Form.
Ma a cosa servono gli strumenti/oggetti che abbiamo
posizionato?
Ora lo scopriremo.
Iniziamo a scrivere un po' di codice……..
Clic sulla Label1 e ci appariranno a lato, nella finestra
delle proprietà, le proprietà dell’oggetto selezionato.
Nelle Proprietà della Label1, alla voce Text, possiamo
inserire la scritta che desideriamo appaia nella Label. Attualmente è riportato
Label1. Lo sostituiamo scrivendo:
Elenco
nomi di porti disponibili sul sistema
Infatti nella ComboBox1 sottostante, quando collegheremo il
nostro cavetto USB del sistema MCU, apparirà l’elenco delle porte
disponibili su nostro PC e dovremo selezionarne una prima di iniziare la
comunicazione. (esempio: COMM 3)
Nella Label1 apparirà la scritta appena inserita.
Ora passiamo al codice vero e proprio.
Con Un doppio clik sul Form1 ci
troveremo nella finestra di codice ed in particolare all’interno di una
chiamata:
Public Class Form1
Private Sub Form1_Load(s……………….
ß-------------------Ci troviamo Qui!!!!!!!!!!!!!!!!!!!!!!!!!!..................
End Sub
Siamo nel punto di partenza del programma. La prima cosa
che viene fatta all’avvio è infatti il codice relativo alla Form1.(quando verrà caricata…. Form1_Load(s……………….)
La prima cosa sarà implementare le righe di codice che ci
restituirà l’elenco dei nomi delle porte valide per il collegamento.
N.B. PortoComboBox è un normale ComboBox(quello
appena posizionato sulla Form1) che io ho chiamato PortoCompoBox.
Attenzione per cambiare il nome alla ComboBox,
selezionarla con un clik e nelle sue proprietà a lato
cambiare il nome in PortoCompoBox.
Sarà necessario, Dichiarare la variabile portoMio per contenere i porti liberi restituiti dal
sistema. Tale dichiarazione va posizionata appena sotto la scritta Public Class Form1 così sarà
visibile e valida per tutto il programma.
Public Class Form1
Dim portoMio As Array 'Matrice che contiene i numeri dei Porti liberi
Bene! A questo punto
se voglio provare il programma, è possibile vederlo già parzialmente al lavoro.
Infatti sarà già in grado di visualizzare le porte USB
connesse al PC.
Per provare se funziona, avviar il programma e
connettere(dopo) un dispositivo USB al PC. Cliccando nella finestrella del PortoComboBox si dovrà aprire la tendina e mostrare i
dispositivi USB connessi. (Vedi Fig.2)
Nel mio caso sono connessi due dispositivi. Quale sarà
Quello che mi interessa?
Da Start, Gestione dispositivi si può aprire la seguente
finestra (Fig.2)
dove possiamo vedere alla voce ‘Porte (COMM e LPT)’ i dispositivi indicati dal nostro programma.
Accanto ad ogni COMM indicata troveremo una breve descrizione che ci aiuterà a capire(almeno per esclusione) quale è la porta che dobbiamo
selezionare.
Normalmente,
per la scheda FTDI-USB, il Sistema Operativo non ripota alcuna ulteriore indicazione
poiché è semplicemente un adattatore di segnale.
Nel
nostro caso infatti la COMM da selezionare è
L a
COMM 3 è connessa ad un Programmatore STLink della STMicroelettronic(scheda NUCLEO).
A
questo punto settiamo i parametri relativi alla comunicazione che verranno
gestiti dal Componente SerialPort.
A seguire, nella Private Sub Form1_Load(ByVal sender….
, scriviamo i seguenti parametri.
Riportiamo
l’intera Sub Form1:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'---------------------------------------------------------------------------------------
'È possibile ottenere un elenco di
nomi di porta validi mediante il metodo GetPortNames.
'N.B.PortoComboBox è un normale ComboBox
che ho chiamato PortoComboBox
PortoComboBox.DropDownStyle = ComboBoxStyle.DropDownList 'combobox-stile-listato(ComboBox-rinominato da ME
in PortoComboBox)
portoMio = IO.Ports.SerialPort.GetPortNames() ' ---seleziona porto seriale libero
PortoComboBox.Items.AddRange(portoMio) ' ---seleziona porto seriale
libero
'---------------------------------------------------------------------------------------
'setting serial
port------------------------------
SerialPort1.BaudRate = 9600 '—Baud Rate = 9600 bit al secondo
SerialPort1.DataBits = 8 '---seleziona n. bit per dato
SerialPort1.Parity = Parity.None '
nessuna parità
SerialPort1.StopBits = StopBits.One 'Un
bit di stop
'-------------------------------------------------
'setting comm-------------------------------------
SerialPort1.RtsEnable = False ' (NON IMPLEMENTATO nel nostro caso)
SerialPort1.Handshake = Handshake.None ' (NON IMPLEMENTATO nel nostro caso)
SerialPort1.ParityReplace = 63 ' (NON necessario ma può tornare
utile!)
'--------buffer----------------
SerialPort1.ReadBufferSize = 4096 ' (una dimensione accettabile per
il buffer di lettura)
SerialPort1.WriteBufferSize = 4096 ' (una dimensione accettabile per
il buffer di scrittura)
'----------timeout---------------
SerialPort1.ReadTimeout = -1 ' Timeout
di lettura in millisecondi(-1=infinito—valore di default)
SerialPort1.WriteTimeout = -1 ' Timeout
di lettura in millisecondi(-1=infinito—valore di default)
'-------------------------------------
SerialPort1.ReceivedBytesThreshold = 1 ' default
End Sub
Osservando i parametri di default della ‘SerialPort’ possiamo notare i settaggi riportati nel codice
della Form1, sono inutili.
Nella sub Form1_Load non è necessario riportare i singoli
settaggi quando i valori sono già settati di default !!!
Si sono comunque riportati nel codice per avere con
chiarezza tutta la configurazione necessaria.
Possiamo notare, dopo l’avvio del programma,
che nella finestra del Codice è apparsa la scritta ‘Imports System.IO.Ports’
all’inizio del Listato.
Per l’esecuzione del programma quindi è
necessario importare questa parte di codice. L’IDE ha provveduto automaticamente !!!.
Aggiungiamo anche Imports System
-------------------------------------------------------------
Imports System.IO.Ports
Imports System
Public Class Form1
Dim portoMio
As Array 'Matrice
che contiene i numeri dei Porti liberi
Private Sub Form1_Load(se……………………………..
----------------------------------------------------------------------
A questo punto, il programma ha tutte le informazioni per
realizzare la comunicazione. Manca ora l’avvio e la gestione dei dati
inviati/ricevuti. Per questo scopo utilizzeremo il Bottone(Button1).
Facendo doppio clik sul Button1,
automaticamente ci troveremo nella finestra di codice già all’interno della sub
che definirà le operazioni da svolgere quando verrà premuto il Button1. Tale Sub viene creata
automaticamente.
Segue il codice dell’intera SubButton1_Click:
Private Sub Button1_Click(ByVal
sender As
System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'assegna
il numero di COMM precedentemente selezionato in PortoComboBox
SerialPort1.PortName = PortoComboBox.Text
'+++++++++++++++++++++++++++++ TX
++++++++++++++++++++++++++++++++++++++++++++++++++++
Dim arr(4095) As
Byte 'Dati da trasmettere
arr(0) = Val(TextBox1.Text) 'scrive nella matrice alla posizione di indice0 il dato
nella TextBox1
SerialPort1.Open() ' apre comunicazione
'------------------------
SerialPort1.Write(arr, 0, 1) 'scrive il dato
'++++++++++++++++++++++++++++ fine TX ++++++++++++++++++++++++++++++++++++++++++++++++++++++
'
appena finita la trasmissione alla scheda MCU inizia la ricezione del dato
Dalla scheda al PC. Il dato ricevuto sarà uguale a
quello
inviato incrementato di uno
'+++++++++++++++++++++++++++++ RX ++++++++++++++++++++++++++++++++++++++++++++
'Legge
un byte (PC=RX)
Dim s(0 To 4095) As
Byte 'Dati da
ricevere
Dim n = 0
' n= contatore dati
'
-------predisposto per la lettura di più dati!!!!------------------------
Do
s(n) = SerialPort1.ReadByte.ToString
' legge dato
n = n + 1
Loop
While n = 0 ' non looppa poiche
acquisisce un solo dato
'++++++++++++++++++++++++++++ fine RX
++++++++++++++++++++++++++++++++++++++++++++++++++++++
'-----------------------------------
SerialPort1.Close() ' chiude comunicazione
'-------------------
TextBox2.Text = s(0) ' scrive il dato ricevuto nella TextBox2
End
Sub
Spiegazione
codice SubButton1_Click.
Possiamo distinguere quattro fasi:
1) SerialPort1.PortName
= PortoComboBox.Text
Assegna
all’oggetto SerialPort1
il COMM..libero precedentemente
assegnato dal sistema all’avvio e presente nella casella PortoComboBox.text.
2)
Trasmissione del dato
---Dimensiona
array arr(0
to 4095)
---n=0
contatore dati
---Apre
la comunicazione
---Scrive
l’unico dato da scrivere.
3)
Ricezione del dato
---Dimensiona
array s(0 to 4095)
---n=0
contatore dati
--- ciclo
lettura dati (nel nostro caso solo uno!)
---Legge il dato dalla matrice con pedice n
n=n+1
se n<>0 termina (fa solo un loop!)
4) Scrive il dato acquisito(che
verrà incrementato di uno dalla scheda MCU) nella TextBox2
Non dimentichiamo di dare una indicazione da mettere
nelle Label2 e Label3. Saranno le specifiche per le sottostanti TextBox.
Click sulla Label2, appariranno le Proprietà della
stessa. Alla voce Text inserire ‘Dato da mandare alla scheda MCU’
Click sulla Label3, appariranno le Proprietà della stessa.
Alla voce Text inserire ‘Dato ricevuto dalla scheda MCU[=dato
mandato+1]’
Click sul Button1, appariranno le Proprietà dello
stesso. Alla voce Text inserire ‘Spedisci il Dato’
Come si presenta l’interfaccia grafica a fine
lavoro!!!
Segue il listato completo che potete copiare direttamente
nel vostro IDE.
Potete anche scaricare il file già compilato, pronto da
usare(.exe) con un colpo di click, a questo link……………
Imports System
Imports System.IO.Ports
Public Class Form1
Dim portoMio
As Array 'Matrice
che contiene i numeri dei Porti liberi
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'---------------------------------------------------------------------------------------
'È possibile ottenere un elenco di
nomi di porta validi mediante il metodo GetPortNames.
'N.B.PortoComboBox è un normale ComboBox
che ho chiamato PortoComboBox
PortoComboBox.DropDownStyle = ComboBoxStyle.DropDownList 'combobox-stile-listato(ComboBox-rinominato da ME
in PortoComboBox)
portoMio = IO.Ports.SerialPort.GetPortNames() ' ---seleziona porto seriale libero
PortoComboBox.Items.AddRange(portoMio) ' ---seleziona porto seriale
libero
'---------------------------------------------------------------------------------------
'setting serial
port------------------------------
SerialPort1.BaudRate = 9600 '—Baud Rate = 9600 bit al secondo
SerialPort1.DataBits = 8 '---seleziona n. bit per dato
SerialPort1.Parity = Parity.None '
nessuna parità
SerialPort1.StopBits = StopBits.One 'Un
bit di stop
'-------------------------------------------------
'setting comm-------------------------------------
SerialPort1.RtsEnable = False ' (NON IMPLEMENTATO nel nostro caso)
SerialPort1.Handshake = Handshake.None ' (NON IMPLEMENTATO nel nostro caso)
SerialPort1.ParityReplace = 63 ' (NON necessario ma può tornare
utile!)
'--------buffer----------------
SerialPort1.ReadBufferSize = 4096 ' (una dimensione accettabile per
il buffer di lettura)
SerialPort1.WriteBufferSize = 4096 ' (una dimensione accettabile per
il buffer di scrittura)
'----------timeout---------------
SerialPort1.ReadTimeout = -1 ' Timeout
di lettura in millisecondi(-1=infinito—valore di default)
SerialPort1.WriteTimeout = -1 ' Timeout
di lettura in millisecondi(-1=infinito—valore di default)
'-------------------------------------
SerialPort1.ReceivedBytesThreshold = 1 ' default
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'assegna il numero di COMM
precedentemente selezionato in PortoComboBox
SerialPort1.PortName = PortoComboBox.Text
'+++++++++++++++++++++++++++++ TX
++++++++++++++++++++++++++++++++++++++++++++++++++++
Dim arr(4095) As Byte 'Dati da trasmettere
arr(0) =
Val(TextBox1.Text) 'scrive
nella matrice alla posizione di indice0 il dato nella TextBox1
SerialPort1.Open()
'
apre comunicazione
'------------------------
SerialPort1.Write(arr, 0, 1) 'scrive il dato
'++++++++++++++++++++++++++++ fine TX ++++++++++++++++++++++++++++++++++++++++++++++++++++++
' appena finita la trasmissione
alla scheda MCU inizia la ricezione del dato Dalla scheda al PC. Il dato
ricevuto sarà uguale a
'quello inviato incrementato di
uno
'+++++++++++++++++++++++++++++ RX ++++++++++++++++++++++++++++++++++++++++++++
'Legge un byte (PC=RX)
Dim s(0 To 4095) As Byte 'Dati
da ricevere
Dim n = 0 ' n= contatore dati
'SerialPort1.Open() ' apre
comunicazione
' -------predisposto per la lettura
di più dati!!!!------------------------
Do
s(n) = SerialPort1.ReadByte.ToString ' legge dato
n = n + 1
Loop While n = 0 ' non looppa
poiche acquisisce un solo dato
'++++++++++++++++++++++++++++ fine RX
++++++++++++++++++++++++++++++++++++++++++++++++++++++
'-----------------------------------
SerialPort1.Close()
' chiude comunicazione
'-------------------
TextBox2.Text = s(0) 'scrive il dato ricevuto nella TextBox2
End Sub
End Class
Per Distribuire
a terzi il tuo programma
N.B. Puoi
trovare l’eseguibile(.exe) del programma appena scritto
nella cartella dove Visual.B. colloca
Il progetto(solitamente C:\Users\tuo-nome\source\repos), nella
cartella \bin\Debug.
C:\Users\tuo-nome\source\repos\Comm_UnByte_RS232\bin\Debug.
Il file.exe
è il programma funzionate ma la garanzia di funzionamento è solo sul tuo
computer dove gira l’IDE di VisualStudio e sono quindi
installate tutte le ‘occorenze’ necessarie!
Per il
funzionamento del tuo programma, è necessario, ad esempio il runtime .NET ed eventualmente altri ‘accessori’ SW
necessari che
Potrebbero non trovarsi nel PC di uno
sconosciuto che non fa uso di VisualStudio!
Ma esiste una strada molto semplice
per rendere il tuo progetto Eseguibile su qualsiasi PC Windows.
Se quindi pensi che il tuo progetto può essere utile ad
altre persone e quindi intendi farne una versione che ‘gira’ su qualsiasi PC
Windows,
segui i prossimi semplici passaggi:
Crea da qualche parte, sul tuo PC una cartella che ospiterà
quanto serve per la distribuzione.
Nel mio caso la cartella si chiamerà: Versione PUBBLICA per la distribuzione
Dall’IDE, nella finestra Esplora soluzioni
click con il destro sul nome del
progetto.
Selezionare la voce Pubblica.
Appariranno le seguenti tre finestre dove potrai specificare
alcune opzioni utili per la distribuzione.
Specifica dove, si trova la cartella precedentemente creata,
che conterrà quanto serve per l’installazione del
programma.
Tale cartella, solitamente, viene ‘zippata’ per la distribuzione.
A seguire
Alla fine si aprirà automaticamente la cartella per consentirti di visualizzare il
contenuto.
Notiamo, in questo caso una cartella, e due file.
Uno dei due file è il file setup.exe che viene
utilizzato/lanciato per l’installazione.
Nota che la cartella contenete tutto il necessario per il
funzionamento su un qualsiasi PC Windows
È assai più grande del file.exe originario
!
-------------------------- -------------------------- -------------------------- --------------------------
Connessione con un Arduino Nano.
Attenzione! Le schede Arduino possiedono nativamente un
connettore USB atto alla programmazione, è quindi evidente che il collegamento
via USB con la scheda è già
Implementato.
Nonostante questo, da numerose esperienze personali ho
potuto rilevare problemi per l’utilizzo di tale collegamento per utilizzi
diversi dalla programmazione.
Di fatto, il collegamento è nato per acconsentire una
connessione atta alla programmazione.
Per tale motivo, potrebbero presentarsi problematiche
inspiegabili per un utilizzo diverso.
Personalmente consiglio l’utilizzo di un modulo FTDI fatto
per essere utilizzato per questo scopo.
Collegamenti
(programmazione).
Schema
(programmazione).
N.B. Il
jumper sulla scheda FTDI deve essere posizionato su 5v. Arduino infatti lavora
a 5v.
Schema
(utilizzo).
Programma per Arduino.
Il programma, scritto con l’IDE Arduino, è composto
dalle seguenti righe:
1)/*
2) Comm_UnByte_RS232
3)
4)
5)FUNZIONA CON
'Comm_UnByte_RS232' IN VB2022
6)
7)*/
8)byte n
=0;
9)
10)void setup() {
11) Serial.begin(9600);
12) }
13)
14)void loop() {
15) if (Serial.available() >
0) {
16) n = Serial.read();
17)
18) Serial.write(n+1);
19) }
20) }
Righe
1-7 Commento
Riga 8
Definisce la variabile n come byte poiché dovrà contenere solo un byte in
trasmissione oppure in ricezione.
Riga
11 Inizializza la linea seriale a 9600 baud (N.B. La comunicazione standard di
Arduino è identica a quella da noi utilizzata nella configurazione del Prog. In V.B.)
Riga
15 Se.. è disponibile/presente un dato sulla linea,
procedi alle righe 16,18. Altrimenti salta alla riga 20 e riparte lo sketch.
Riga 16 Il dato presente
sulla linea viene memorizzato nella variabile
n.
Riga 18 Il dato memorizzato,
incrementato di uno, viene scritto sulla
linea in uscita e quindi rispedito indietro.
Quindi,
se è presente un Dato sulla linea, viene letto e, dopo essere stato
incrementato di uno, rimandato al mittente. 😊
Naturalmente il programma può essere
utilizzato su qualsiasi tipo di Arduino a patto che vengano utilizzati
naturalmente i Pin specifici preposti per la comunicazione.
I due software(Lato
PC e lato scheda) hanno ugual nome : Comm_UnByte_RS232.
Linck alla versione che mette in comunicazione il PC con
STM32 NUCLEO L432KC (32Bit)
Il Software
lato PC è lo stesso. ………………………………
Linck alla versione che mette in comunicazione il PC con
MSP430G2553(Ulta Low Energy)
Il Software
lato PC è lo stesso. ………………………………