подключение Arduino UNO к оборудованию с rs232 разъемом
- Войдите на сайт для отправки комментариев
Ср, 16/08/2017 - 11:21
Добрый день!
Есть необходимость подключить ардуино к оборудованию и подцепить LED экран через rs232. есть контроллер adm3202, который преобразует 12В на 5В грубо говоря(rs232 работает на 12 В). оборудование работает на скорости 115200, ардуино на 9600. для начало подключил к ардуино rs232 через adm3202, скорость 9600 - работает
byte rx = 6;
byte tx = 7;
byte SWval;
void setup() {
pinMode(rx,INPUT);
pinMode(tx,OUTPUT);
digitalWrite(tx,HIGH);
delay(2);
digitalWrite(13,HIGH); //turn on debugging LED
SWprint('h'); //debugging hello
SWprint('i');
SWprint(10); //carriage return
}
void SWprint(int data)
{
byte mask;
//startbit
digitalWrite(tx,LOW);
delayMicroseconds(bit9600Delay);
for (mask = 0x01; mask>0; mask <<= 1) {
if (data & mask){ // choose bit
digitalWrite(tx,HIGH); // send 1
}
else{
digitalWrite(tx,LOW); // send 0
}
delayMicroseconds(bit9600Delay);
}
//stop bit
digitalWrite(tx, HIGH);
delayMicroseconds(bit9600Delay);
}
int SWread()
{
byte val = 0;
while (digitalRead(rx));
//wait for start bit
if (digitalRead(rx) == LOW) {
delayMicroseconds(halfBit9600Delay);
for (int offset = 0; offset < 8; offset++) {
delayMicroseconds(bit9600Delay);
val |= digitalRead(rx) << offset;
}
//wait for stop bit + extra
delayMicroseconds(bit9600Delay);
delayMicroseconds(bit9600Delay);
return val;
}
}
void loop()
{
SWval = SWread();
SWprint(toupper(SWval));
}
Как только подключаюсь параллельно к оборудованию терминал ничего не выдает, не реагирует ни на что, то есть одновременно может работать только один serial. Вопрос можно ли это как то решить?