2015-09-19 1 views
1

J'ai essayé d'imprimer via Windows Mobile à l'imprimante TSC TA200, mais sans succès.essayer d'envoyer une chaîne à rs232 - Mais sans succès

Ceci est mon code:

private static void SendSampleData() 
{ 
    SerialPort portZ = new SerialPort("COM1", 115200, Parity.None, 8, StopBits.One); // I also tried 9600 
    portZ.Open(); 
    portZ.Write("Hello World"); 
    portZ.Write(new byte[] { 0x0A, 0xE2, 0xFF }, 0, 3); // I tried to send bytes 
    portZ.Close(); 
} 

J'ai essayé aussi de changer le port COM COM2, COM3 ... et jouer avec la vitesse de transmission à 9600, 4800 ... mais toujours sans succès.

Il n'y a pas d'erreur mais n'imprime rien - rien ne se passe!

+1

Vous fermez le port avant de pouvoir transmettre les données. N'écrivez jamais comme ça, ouvrez le port lorsque vous démarrez votre programme, ne le fermez pas jusqu'à ce qu'il se termine. Si vous devez absolument alors vous devez faire une boucle jusqu'à ce que BytesToWrite tombe à 0. –

Répondre

0

Je suppose que l'imprimante ne comprend pas votre code. Essayez avec un câble RS-232 null-modem connecté à votre PC et ouvrez HyperTerminal (ou TeraTerm) pour capturer le port COM utilisé sur le PC. Ensuite, regardez ce qui se passe à l'intérieur du programme terminal sur PC lorsque vous exécutez votre programme sur l'appareil.

Quel appareil mobile utilisez-vous? Beaucoup d'entre eux utilisent des ports COM pour le matériel interne et donc COM1 peut ne pas être le bon. Regardez registre de périphérique à Pilotes/actif pour les pilotes chargés et les ports COM (nom) et les entrées d'index (ils font alors le COM1, COM2 etc).

De nombreux périphériques Windows Mobile ne possèdent pas de port RS232 mais peuvent prendre en charge un adaptateur USB-RS232 externe. ceux-ci peuvent utiliser des noms de port différents de 'COM' pour le port série virtuel.