Arduino e linea seriale

sto cercando di capire il baudrate massimo della seriale di Arduino Uno, e ho dei dubbi sui risultati ottenuti. in Hyperterminal posso a impostare come velocita' massima sul PC,

921600 e anche su Arduino viene accettata, verificando con l'oscilloscopio sia rx che tx ho la conferma che questa velocita' viene realizzata (bit time di 1 us sui pin rx e tx di Arduino). il problema e' che, mentre la trasmissione di un pacchetto di byte dal PC verso Arduino risulta quasi contigua (solo 4us in piu' tra 2 byte consecutivi), la trasmissione da Arduino al PC ha pause di 40us tra un byte e l'altro. secondo voi a cosa e' dovuto ? limite hardware o software ?

mentre ci sono vi spiego in cosa consiste il progetto, cosi' mi aiutate a trovare altre possibili soluzioni. sto cercando di interfacciare un controller CAN SJA1000 al PC. molti anni fa lo avevo fatto su porta parallela e il programma che lo gestiva era in DOS, con accesso diretto agli I/O e interrupt. ora vorrei adattarlo per Windows, ma ho 2 problemi:

- molti PC non hanno la porta parallela

- non sono in grado di scrivere un driver per gestire gli interrupt, posso solo usare gli I/O in user mode attraverso il driver GiveIO.sys per risolvere questi 2 problemi stavo pensando di metterci in mezzo Arduino, cosi' comunicherei in seriale e non devo scrivere nessun driver, ma mi serve una seriale "performante"...

Reply to
alfio
Loading thread data ...

Il 03/04/2012 21.17, alfio ha scritto:

con Seriel.begin(speed) definisci la velocita' di rice/TR tra queste valide: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, o 115200

Reply to
Giorgio

Giorgio ha detto questo mercoledì :

questo lo so. sono valide e funzionanti anche 230400, 460800, 921600.

pero' io chiedevo altro...

Reply to
alfio

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.