Comment envoyer un fichier sur le port série dans l'Invite de Commande Windows
Je suis en train d'envoyer des fichiers sur un port COM, mais a échoué à chaque fois.
Tout d'abord, j'ai configurer un numéro de série sur chaque machine comme ceci:
MODE COMx:115200,N,8
où x est le numéro de port COM.
Après ce que j'essaie de faire:
COPY file.zip COM1: /B
et l'inverse sur le PC en réception.
Dans la plupart des cas que j'ai eu une fracture de l'archive. Mais lors de la dernière tente ne m'as rien donné du tout premier PC dit que le fichier a bien été envoyé, mais la deuxième est juste en attente pour les données. Est-il quelqu'un qui sait comment résoudre ce problème?
A ce jamais travaillé à l'aide de ce câble série? Êtes-vous sûr que vous avez correctement configuré câble série?
Le câble fonctionne bien, qui sont contrôlés par l'envoi avec c# classe SerialPort. Et oui - je l'ai fait avant, le fichier a été transféré, mais cela ne fonctionne qu'avec des fichiers texte. Peut-être copie binaire drapeau de l'aide avec d'autres fichiers.
Avez-vous envoyer des non-texte par le biais de la C## exercice? Bien sûr, si les données binaires comprend un ctrl-Z (0x1A), alors il serait probablement terminer le transfert.
Vous n'avez pas mentionné ce que commande à exécuter sur le PC en réception. COPIE COM1: file.zip /B ne fonctionne pas. Le récepteur doit permettre d'IRQ sur le contrôleur d'interruption et sur USART, de recevoir des données par le gestionnaire d'interruption, de les stocker sur le disque. OS shell ne fournit pas toutes ces tâches.
Le câble fonctionne bien, qui sont contrôlés par l'envoi avec c# classe SerialPort. Et oui - je l'ai fait avant, le fichier a été transféré, mais cela ne fonctionne qu'avec des fichiers texte. Peut-être copie binaire drapeau de l'aide avec d'autres fichiers.
Avez-vous envoyer des non-texte par le biais de la C## exercice? Bien sûr, si les données binaires comprend un ctrl-Z (0x1A), alors il serait probablement terminer le transfert.
Vous n'avez pas mentionné ce que commande à exécuter sur le PC en réception. COPIE COM1: file.zip /B ne fonctionne pas. Le récepteur doit permettre d'IRQ sur le contrôleur d'interruption et sur USART, de recevoir des données par le gestionnaire d'interruption, de les stocker sur le disque. OS shell ne fournit pas toutes ces tâches.
OriginalL'auteur James Jason | 2016-04-06
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne pour moi, pour envoyer un fichier binaire à un Arduino :
Avis de la
\\.\
qui est obligatoire pour les numéros de port >= 10, et peut être utilisé aussi pour les numéros de port de 1 à 9.Je ne suis pas sûr de comprendre votre question, parce que le protocole série (rs-232) utilisé pour les ports COM seulement définit comment envoyer et recevoir des octets à partir d'un périphérique série, il ne définit pas n'importe quoi sur un système de fichiers (en particulier, il n'est pas de définir un répertoire de base). La plupart des périphériques série, par exemple une souris série ou un modem série n'ont pas de système de fichiers. Vous pouvez trouver plus d'informations sur rs-232 ici : en.wikipedia.org/wiki/RS-232#Sp%C3%A9cification
Merci @Ben, permettez-moi de préciser ma question: Est-il possible de transférer des fichiers sous linux système de fichiers (ext2) sur le port COM? Si oui, quelle serait la commande à partir du shell windows?
La réponse courte est non, le protocole RS-232 est de très bas niveau : envoyer des octets, de recevoir des octets, sans interprétation. Linux ne sais même pas quand est le début et la fin du fichier transmis, ou de son nom de fichier. Mais ce que vous cherchez est probablement Kermit ( en.wikipedia.org/wiki/Kermit_(protocole) ) ou Zmodem. Il y a des logiciels qui mettent en œuvre pour Windows et pour Linux, avec cela, il devrait être possible de transférer des fichiers sur une ligne série. Il y a un howto ici : andym3.wordpress.com/...
OriginalL'auteur Ben
Vous devez spécifier /B pour fichier binaire après la .fichier zip (ou quoi que ce soit qu'elle est) ainsi qu'à la fin de la ligne de commande. par exemple,
COPY ABinary.File /B COM1 /B
sinon il s'arrêtera à la première non-texte ASCII du caractère.Essayez d'utiliser Hyperterminal à la fin de réception et de Transfert > Capture de Texte
OriginalL'auteur James