Arduino mega e comunicazione RS485, ma non comunica.....
Ciao a tutti.
Sto avendo un problema a far comunicare una scheda arduino mega tramite protocollo RS485.
La situazione è la seguente.
Ho intenzione di collegare dei pannelli con dei pulsanti ad un simulatore di volo; nella community è stato messo a disposizione un ambiente di programmazione / interfacciamento eccezionale (per chi fosse curioso basta cercare DCSBIOS).
Il tutto è basato su Arduino Nano / Mega.
Mi sono autocostruito due tipi di interfacce RS485 (basate su chip MAX487), una da agganciare ai Nano e una ai Mega.
Le interfacce funzionano, ho realizzato diversi pannelli interfacciati con i nano e fanno il loro dovere (almeno corna facendo...)
Adesso sto provando ad utilizzare un mega, ma non c'è verso di farlo comunicare.
Ho fatto tutti i test possibili, ma non ne vengo a capo e non so che altro provare:
- ho collegato la scheda Mega in modalità diretta (seriale via USB) e ottengo il risultato
- se cambio la modalità della Mega da diretta a RS485 (tramite la sua interfaccia) invece non va (led RX spento)
- l'interfaccia per i Mega funziona, infatti ho provato a collegarci un nano, comunica (led RX attivo) e ottengo risultati
- ho provato a collegare come terminali TX/RX tutte e 4 le possibili coppie presenti sul Mega, ma non c'è verso.
- non c'è alcun conflitto di indirizzi in quanto sto testando una scheda per volta
Prima di rivolgermi alla community (inglese) vorrei provare a chiedere consiglio qui (lingua madre
) ....
il codice tipo è il seguente:
Ovviamente nel fare i test, quando passavo da RS485 a Seriale facevo le dovute variazioni abilitando / disabilitando le rispettive linee:
e
Grazie
Andrea
--------------------
Corretto nel titolo da RS485 a RS485
GioArca67
Sto avendo un problema a far comunicare una scheda arduino mega tramite protocollo RS485.
La situazione è la seguente.
Ho intenzione di collegare dei pannelli con dei pulsanti ad un simulatore di volo; nella community è stato messo a disposizione un ambiente di programmazione / interfacciamento eccezionale (per chi fosse curioso basta cercare DCSBIOS).
Il tutto è basato su Arduino Nano / Mega.
Mi sono autocostruito due tipi di interfacce RS485 (basate su chip MAX487), una da agganciare ai Nano e una ai Mega.
Le interfacce funzionano, ho realizzato diversi pannelli interfacciati con i nano e fanno il loro dovere (almeno corna facendo...)
Adesso sto provando ad utilizzare un mega, ma non c'è verso di farlo comunicare.
Ho fatto tutti i test possibili, ma non ne vengo a capo e non so che altro provare:
- ho collegato la scheda Mega in modalità diretta (seriale via USB) e ottengo il risultato
- se cambio la modalità della Mega da diretta a RS485 (tramite la sua interfaccia) invece non va (led RX spento)
- l'interfaccia per i Mega funziona, infatti ho provato a collegarci un nano, comunica (led RX attivo) e ottengo risultati
- ho provato a collegare come terminali TX/RX tutte e 4 le possibili coppie presenti sul Mega, ma non c'è verso.
- non c'è alcun conflitto di indirizzi in quanto sto testando una scheda per volta
Prima di rivolgermi alla community (inglese) vorrei provare a chiedere consiglio qui (lingua madre
il codice tipo è il seguente:
- Codice: Seleziona tutto
/*
The following #define tells DCS-BIOS that this is a RS-485 slave device.
It also sets the address of this slave device. The slave address should be
between 1 and 126 and must be unique among all devices on the same bus.
*/
#define DCSBIOS_RS485_SLAVE 1
#define DCSBIOS_IRQ_SERIAL
/*
The Arduino pin that is connected to the
/RE and DE pins on the RS-485 transceiver.
*/
#define TXENABLE_PIN 2
#include "DcsBios.h"
/* paste code snippets from the reference documentation here */
void setup() {
DcsBios::setup();
}
void loop() {
DcsBios::loop();
}
Ovviamente nel fare i test, quando passavo da RS485 a Seriale facevo le dovute variazioni abilitando / disabilitando le rispettive linee:
- Codice: Seleziona tutto
#define DCSBIOS_RS485_SLAVE 1
#define DCSBIOS_IRQ_SERIAL
e
- Codice: Seleziona tutto
#define TXENABLE_PIN 2
Grazie
Andrea
--------------------
Corretto nel titolo da RS485 a RS485

