Ciao ragazzi!!!!!
Avrei un argomento da proporvi:
Sto tentando di far comunicare tra di loro il mio arduino uno con un microcontrollore con architettura 8052 via seriale TTL.
Ciò che voglio fare è inviare un carattere via seriale al mio controllore da arduino via montior seriale e far accendere un led collegato ad una delle porte di uscita del controllore......
L'MCU è un ADuC836 della analog devices.
Un pò di dati hardware:
Le alimentazioni dei due dispositivi sono separate, per cui la comunicazione avviene attraverso semplicemente RX , TX e GND ( RX e TX dei due dispositivi sono ovviamente incrociati).....
Per il momento non ho avuto molta fortuna con questo controllore, in quanto se ad esempio invio un carattere sempre via seriale con un display touchscreen, il buffer di ricezione (l SBUF per chi ha un po di dimestichezza con le architettura 8051) mi risponde sempre a prescindere da cio che invio sempre con 0xFF......Cio che pero posso dire con assoluta certezza è che ricevo lo stop bit della comunicazione seriale.
Per questo motivo sto tentando di analizzare il problema inviando un carattere dal monitor seriale di arduino, il tutto sempre attraverso una comuncazione seriale TTL... con lo stesso codice usato sul display, ma con il carattere inviato da arduino non riesco nemmeno a ricevere lo stop bit sull'MCU....
questo è il codice di arduino:....come avrete modo di vedere non è nulla di complicato.
#include <SoftwareSerial.h>
SoftwareSerial Aduc(2,3);
void setup()
{
Aduc.begin(9600);
Serial.begin(9600);
Serial.println(F("pronto"));
}
void loop()
{
if( Serial.available() )
{
char c = Serial.read();
if( c == 'a' )
{
Serial.println(F("invio ack"));
Aduc.print(F("a"));
}
}
if( Aduc.available() )
{
char t = Aduc.read();
if( t == 0x01 ) Serial.println(F("ricevuto"));
}
}
Se cè bisogno posto anche il codice dell Aduc
Grazie a chi risponde