Pages: [1]   Go Down
Author Topic: debit Serial.SendData  (Read 508 times)
0 Members and 1 Guest are viewing this topic.
FRANCE
Offline Offline
Sr. Member
****
Karma: 0
Posts: 338
Arduino rocks .... oulalalalala
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour. allez, encore une question de newbie !

je communique avec une api ecrite en C et arduino, via le port série.
vitesse 9600 bauds. atmega328. cette api fait beaucoup de choses, alors j ai mis le dialogue vers arduino dans un timer

arduino est solicité par mon api tous les 20ème de secondes
cette fonction est une  solicitation et une lecture de l information recue sur le port série.

à cette requete ( l'envoi de TRois bytes permettant le mot clé "SD/")
Arduino analyse l etat des IO et des analogues par rapport à l'envoi précédent
si changement, il envoie les etats des IO et analogues avec le print d un mot clé (DI/ ou AN/ pour identifier qui ont envoit) pusi le write du buffer correspondant, en bytes.

en faisant des essais comme si avec une méga ( 54 IO ), j ai un ralentissement du rafraichissement des IO, comme si le port était saturé, ou qu il y avait trop de datas envoyé  ( 54 + 3 = 57 bytes)
je re-perds des infos ( bouton appuyé ou pas).

est ce normal ?
quel est l usage habituel, et ce que l on peut attendre d arduino ?

voilà pour la question du jour ! ;-)
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3010
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

débit = 9600 bauds
un caractère = 10 bits (un start, 8 bits, un stop)
9600 / 10 = 960 donc 960 caractères par seconde
57 caractères à envoyer
960 / 57 = 16,8

Donc dans le meilleur des cas, tu ne peux envoyer ta trame de valeurs que 16,8 fois par seconde.

Conclusion, tu augmentes le débit ou tu réduis la longueur de la trame émise.
Logged

FRANCE
Offline Offline
Sr. Member
****
Karma: 0
Posts: 338
Arduino rocks .... oulalalalala
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

o que c est clair! merci !
donc augmenter la vitesse de  com ou créer un protocole moins gourmand... après tout du 0/1 sur les digitaux peut se faire en >>
sur les interfaces dmx enttec on est sur une com de 9600 bauds avec l interface ( chipset FTDI ) et sur 512 bits. ->[EDIT]: oups , 57600 ....  :o
« Last Edit: September 05, 2010, 01:43:43 pm by karistouf » Logged

Pages: [1]   Go Up
Jump to: