Сегодня понадобилось срочно подключить к PC синезубый GPS приемник Holux имеющий UART выход. Подключение нужно было сделать через USB порт. Переходник от мобилы который я переделывал здесь, потерял.
И тут как всегда приходит на помощь Arduino
Таким образом можно подключать к РС разные устройства от модемов до дисплеев. Можно на базе этого сделать интеллектуальный мост, GPS с гироскопом и т.д.

Скетчь для Arduino с возможностью обработки данных 
Скетч на ассемблере, стабильно работает на высоких скоростях передачи
	PHP код:
	
uint8_t RX_Pin=8;
uint8_t TX_Pin=9;   
void setup() 
{    
  pinMode(0, INPUT); //RX 
  pinMode(1, OUTPUT);//TX 
  pinMode(RX_Pin, OUTPUT); 
  pinMode(TX_Pin, INPUT);  
}
void loop() 
{
uint8_t Result;
asm volatile( 
"cli" "\n\t"             
"label%=:"  "in %[Result], %[in_portd]"   "\n\t" 
            "out %[out_portb],  %[Result]" "\n\t"  
            "in %[Result], %[in_portb]"   "\n\t"     
            "out %[out_portd],  %[Result]" "\n\t"  
"rjmp label%=" "\n\t" 
        : [Result] "=r" (Result)
        : [out_portb] "I" (_SFR_IO_ADDR(PORTB)), [out_portd] "I" (_SFR_IO_ADDR(PORTD)), 
          [in_portb] "I" (_SFR_IO_ADDR(PINB)), [in_portd] "I" (_SFR_IO_ADDR(PIND))   
        : 
        );//asm end
    
} 
 
Скетч для прямого подключения к пинам RX(D0)  и TX(D1)
	PHP код:
	
//http://www.compcar.ru 
void setup() 
{    
  pinMode(0, INPUT); //RX 
  pinMode(1, INPUT);//TX  
} 
void loop()  
{ 
}