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

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)











