PIC16F628A to Arduino (rs-232 data)

Hi all, Hopefully this question is in the right forum.

I am building a project which needs to read "rs-232" data from a PIC16F628A based sensor board. I was intending to use the "newsoftserial' library as I have a total of 3 rs-232 interfaces, 1 from a PC and 2 from the pic based sensors. The pic sensors are not my development, but I do have email communication with the developer.

My question is, will I need to do any logic inversion/isolation or can I simply connect the output of the pic to the input of the Arduino (in the fashion of TTL --> TTL) and read the data? There is no requirement to transmit any data back to the sensor boards.

Many thanks Colin.

Unfortunately the full answer depends upon the details of the sensor board. If there is nothing in between the PIC and the Arduino then you can just connect them up TTL-->TTL (and connect the grounds together) and it should work fine. If the sensor board has an RS232 level translator then you can't.

As a side issue, I wouldn't count on using NewSoftSerial reliably in the way you describe. Once NewSoftSerial sees a character coming in it sits in a tight loop decoding it, to the exclusion of all else. Meaning that if another character is coming in on another one of your NewSoftSerial pins you will miss it.

-- The Arduino Drum Machine: MIDI development system with 14-track MIDI drum machine sequencer / groove-box software

Thanks for the reply. There is nothing but a 1k resistor on the output of the pic, so it looks like TTL --> TTL will be a go. I see that new softserial can also take care of an inversion if it's present.

The project should work ok with the library, the basics are this;

Read 2 values from the hardware rs-232 port connected to a pc; //com 1 Based on one input value move a motor until the value from the sensor (a feedback sensor from the motor) = the input value; //com2 Based on the second input value move a second motor until the value from a second sensor (again a feedback sensor from the motor) = the input value; //com3

As this all happens in "serial" fashion I'm hoping that the library will cope.

Otherwise I'd be open for suggestions :)