2012-10-08 35 views
9

Có một câu lệnh DOS để mở cổng nối tiếp, nói COM3 qua dấu nhắc lệnh DOS trong Windows 7. Ví dụ:lệnh cho mở cổng nối tiếp trong Windows 7

OPEN "COM6" AS #1 

tôi không thể sử dụng pyserial hoặc bất kỳ khác tiện ích không được phân phối với Windows 7.

giải pháp ưu tiên Opening a COM port in QBasic on Windows 7

+0

'echo> COM3'? không thể kiểm tra ở đây kể từ khi máy của tôi không có di sản. –

+0

Mở nó và sau đó làm gì? Nhận dữ liệu? Gửi dữ liệu? Đặt cấu hình cổng? – Brad

+0

@Brad Mở và viết lệnh để được giải thích bởi một thiết bị đi kèm. – Olumide

Trả lời

19

có lẽ bạn có thể sử dụng Powershell? Nó bao gồm trong Win7 ...

mã lấy từ đây http://blogs.msdn.com/b/powershell/archive/2006/08/31/writing-and-reading-info-from-serial-ports.aspx

Viết cho một Serial Port

PS> [System.IO.Ports.SerialPort]::getportnames() 
COM3 
PS> $port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one 
PS> $port.open() 
PS> $port.WriteLine("Hello world") 
PS> $port.Close() 

Đọc từ một Serial Port

PS> $port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one 
PS> $port.Open() 
PS> $port.ReadLine() 
+0

Cảm ơn. Tôi đã hy vọng làm như vậy bằng cách sử dụng đồng bằng cũ BASIC 'tho. – Olumide

+1

Tôi sử dụng lệnh này với PHP và hàm shell_exec(). Tôi có một Arduino kết nối mà tôi sử dụng với các phác thảo Blink (nếu bạn quen thuộc) mà tôi sửa đổi và thay vì nhấp nháy nó in "Led On" và "Led Off". Nhưng đôi khi khi tôi làm mới kịch bản php của tôi, tôi nhận được chuỗi không đọc được , như trống hoặc "??? On" hoặc chỉ "Led", không đầy đủ. Có cách nào để khắc phục sự cố này không? Liệu nó cần một bộ đệm hay cái gì? – petsoukos

+0

@Petsoukos Tôi xin lỗi, nhưng tôi không biết gì về PHP hoặc Arduino. anyway, nếu đầu ra là bị cắt xén, có lẽ có cái gì đó can thiệp ... có lẽ đó là một số phần mềm khác/quá trình bằng văn bản cho cùng một cổng COM? hoặc có thể một cái gì đó chấm dứt kịch bản (trong shell_exec) trước khi nó đạt đến kết thúc tự nhiên? Có thể bạn có thể thêm một số bản ghi gỡ lỗi/mã theo dõi/thông báo vào đầu/cuối của tập lệnh PHP và kịch bản lệnh shell_exec của bạn để theo dõi chúng đến cuối chính xác hoặc nếu chúng bị gián đoạn bởi một cái gì đó – Max