destroyedlolo a écrit :Si tu envoie le nombre 125, ton print() va envoyer '1' puis '2' puis '5' donc 3 octets pour tes données : c'est donc une chaine de caractères.
Le write() envoie directement le nombre telle que le stock le microP, à savoir le chiffre 125 qui lui peut etre codé sur 1 octets : un nombre binaire.
A ce sujet, le caractère 'A', les valeurs 65, 0x41 ou 0b1000001 sont ... la même chose !
Ok je vois, ça n'était pas spécialement précisé dans la doc du
write() : "Writes UDP data to the remote connection", sans plus de détail.
destroyedlolo a écrit :(heu, ca par contre devrait faire parti des cours).
C'est juste l'expression "structure binaire" qui me posait problème. J'aurais compris "représentation binaire d'un int ou d'un char" par exemple.
destroyedlolo a écrit :Sauf que :
- les trames sur ethernet ont une longueur minimum largement plus grande que tes quelques octets. Donc même si tu penses envoyer 5 octets, t'en envoie beaucoup plus (jam + padding) ... cherche "trame ethernet" ou MTU.
- se rajoute les entetes qui prennent aussi de la place.
Les buffers te permettent de mutualiser ces "surcharges".
Bref, ton problème de bande passante est justement que tu n'envoie que des petits bouts
Je dois trouver le bon compromis pour la taille du buffer quoi.
destroyedlolo a écrit :Donc, l'un dans l'autre ca revient au meme : tu mesure la durée totale du cycle et la durée pendant qu'il est a l'état haut.
Même chose que précédemment : c'est pour être sûr qu'on parle bien de la même chose.
destroyedlolo a écrit :Ha ???? Heu, peut être que t'on prof s'attendait à ce que tu te renseigne pas toi même alors, parce que si on souhaite faire de l'acquisition de signal comme dans ton projet, les techniques bas niveau sont quand même le B.A.-BA ...
Mon prof ne s'attendait à rien du tout puisque les microcontrôleurs n'étaient pas au programme dans mon école d'informatique. Un peu d'Arduino en première et en quatrième année, c'est tout, et ce n'était pas le but du programme, je serais allé en école d'électronique sinon (comme l'ISEN ou l'ESIGELEC).
destroyedlolo a écrit :Parce qu'il est évident que ca peut marcher (avec beaucoup de difficultés) en faisant du
busy waiting mais bon ... c'est gaspiller les ressources pour rien et ca fait très amateur.
Je ne doute pas une seconde que ça puisse marcher. Ce dont je doute, c'est qu'avec mes compétences actuelles + le matériel à disposition, ça va me demander du temps et du travail.
romaxx a écrit : Bon ok je sais que ce sujet est déjà plein de trolls.. mais sérieux, je crois que la jeune génération Française a un problème..
Tu as 24a et tu te dis passionné.. une question, tu joue aux jeux vidéos ton temps libre ?.. à 15a je connaissait déjà les interruptions, et en auto-didacte, pas de papa ou de maman dans la technique
Alors ok, admettons, il n'est jamais trop tard pour s'y mettre (quoique), mais svp.. arrêtez de dire "on n'a jamais vu ça en cours", vous assumez, vous apprenez, et vous avancez.. sinon quoi, vous serez en train de réinventer un processeur 128bits lorsque tout le monde sera passé au processeur quantique ? allons..
Ce genre de message, j'adore. Quel rapport avec les jeux vidéo ? Quel rapport avec "papa-maman" ? Si t'essayais d'établir mon profil, c'est raté.
Donc, pour la énième fois :
je n'ai pas fait de microcontrôleur ou d'électronique à l'école. Je me débrouille en C, je pense être plutôt bon en C# et en Java, je sais utiliser des SGBD, des systèmes Linux et Windows, etc. ; ce que je connais en électronique et consorts, c'est ce que j'ai appris moi-même de mon côté, avec d'autres choses comme le Python par exemple. Si je poste un message d'aide sur un forum, quel intérêt de me répondre "t'avais qu'à écouter en cours" ? Autant ne pas répondre, merci. Si j'avais su, je n'aurais pas dit que j'avais fait une école d'informatique, mais je me demande si ça t'aurait quand même empêché de sortir un message pareil. Comment dégoûter quelqu'un de s'intéresser à un nouveau sujet...
Allez, tant qu'on est dans la remarque gratuite, bête, et méchante : à 15 ans, je savais écrire correctement le français, et depuis un moment déjà.
Désolé de ne pas être un passionné auto-didacte comme toi, mais juste un curieux !
Bud Spencer a écrit :Je te rassure, tu n’es pas le seul a tout comprendre de travers ou à manquer de compétence ou d'expérience pour faire l’analyse concrète d’un besoin. D’un autre coté les forums comme celui-là sont justement là pour essayer de débattre sur les meilleurs choix à faire ou au moins à essayer.
Merci à toi.
Bud Spencer a écrit :La méthode n’est pas ‘habile’, elle est juste simple, optimisée, éprouvée, foutrement efficace et surtout concrète. Pas de problème de typage, de boutisme, de conversion, de taille, de surcouche protocolaire ou je ne sais quoi d’autre. Un tableau d’octet n’est pas une variable. Il ne contient que des octets qui n’ont ni type ni ordre autre que celui dans lequel ils ont volontairement été placé.
Je vois, ton explication d'un message précédent était claire et nette.
Bud Spencer a écrit :Compte tenu de la quantité de data que tu veux transférer, chaque octet économisé a son importance. C’est justement ça qui va te permettre de transmettre un maximum de données en un minimum d’envois (donc de temps). Il y a une autre chose qui a échappé a beaucoup d’intervenants y compris à toi : La liaison entre ton arduimachin et son shieldtruc est une liaison SPI. Même si c’est très performant dans beaucoup de cas, en ce qui concerne l’interfaçage d’un périphérique Ethernet, c’est avant tout un premier goulot d’étranglement (comme pour la SD). Pour limiter la casse tu dois donc transférer le strict minimum de données et surtout, juste le nécessaire. Apres il est très facile de trouver la limite de taille idéale de tes paquet /IP pour définir la bonne taille de buffer pour rester optimisé (un seul octet de plus ou de moins peut faire une différence énorme), mais ça, c’est l’étape suivante qui pourra peut-être faire l’objet d’une réflexion quand on sera sortie de toute cette ./mélasse.
Très bonne remarque pour le shield connecté en SPI, ça m'avait effectivement complètement échappé. Bon rappel de la ./confiture !
Bud Spencer a écrit :J’aime bien cette pensée.
Moi aussi, à condition d'être pertinente et justifiée, ce qui n'étais pas le cas ici.
destroyedlolo a écrit :C'est une école de commerce alors, parce que c'est étonnant que dans une école d'ingé, surtout à visé "dev", le concept de chaine ou de binaire ne soit pas abordé. Ni d'ailleurs ce qu'est un réseau IP, une interruption, un DMA, ... il reste quoi ? On ne parle que de m$-windows et de java ou quoi ?
Les concepts sont heureusement abordés ; comme précisé plus haut dans ce message, c'était surtout une question de vocabulaire utilisé, afin d'être sûr qu'on parle de la même chose.
destroyedlolo a écrit :Pinhapple, si tu met dans ton rapport "ce n'est pas possible", ca va faire sourire
C'était pas prévu, j'ai forcé le trait !
Je tiens à tous (oui,
tous) vous remercier pour l'aide apportée sur ce sujet. Je galère pas mal, y en a dans tous les sens, et vous savez tous de quoi vous parlez, donc désolé si j'ai l'air d'être à la ramasse !