Arduino e linea seriale

Apr 03, 2012 2 Replies

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"...


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

Giorgio ha detto questo mercoledì :

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

pero' io chiedevo altro...

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required