2009-07-09 29 views
7

Tôi đã làm lập trình trên máy tính để bàn một thời gian nhưng muốn bắt đầu với giao tiếp với phần cứng. Cụ thể, tôi muốn tìm hiểu cách sử dụng các cổng nối tiếp để thực hiện một sự kiện bên ngoài và cảnh báo ứng dụng của tôi (ví dụ, tôi có thể bật camera khi chuyển động được phát hiện bởi cảm biến bên ngoài). Hãy cho tôi biết cách bắt đầu, loại cảm biến nào, sách nào (hoặc tài nguyên trực tuyến) có sẵn. Tôi đã thử Bing và Google nhưng tôi cần nhiều con trỏ hơn.Làm cách nào để bắt đầu với lập trình giao diện phần cứng?

Trả lời

0

Nếu bạn có thể tìm thấy một modem cũ trực tuyến hoặc craigslist có thể là một khởi đầu tốt. Các thông số kỹ thuật nối tiếp cho những thông số này được ghi nhận khá tốt.

Sau đó tôi sẽ bắt đầu điều tra những điều bạn quan tâm - sự quan tâm của bạn trong dự án sẽ thúc đẩy việc học và tiến bộ hơn bất cứ điều gì IMO.

Tôi nghĩ rằng trang web này có một số điều thú vị để thử:

http://blogs.msdn.com/coding4fun/

0

Tôi muốn giới thiệu cho bạn những cuốn sách Linux Device Drivers 3rd Edition

Mặc dù tôi đã không được lập trình bất kỳ giao diện phần cứng nêu ra, tôi nghĩ cuốn sách này sẽ giúp bạn sẵn sàng bắt đầu hack.

1

Thực sự không có nhiều mẹo phù hợp với tất cả. Bạn sẽ cần phải nhìn vào tài liệu cho thiết bị của bạn, nó sẽ chỉ định giao thức của những gì nó sẽ gửi qua cổng nối tiếp và những lệnh bạn có thể gửi trả lại.

Đảm bảo bạn hiểu những thứ như phương tiện để mã hóa văn bản như ASCII hoặc UTF8. Hầu hết mọi thiết bị gửi và mong đợi văn bản sẽ sử dụng mã hóa ASCII.

Tôi không chắc chắn hệ điều hành hoặc ngôn ngữ bạn đang sử dụng, nhưng lưu ý rằng bạn đang gửi dữ liệu nhị phân thô qua cổng nối tiếp, ví dụ: nếu bạn đang sử dụng C#, bạn sẽ muốn nối tiếp cổng dữ liệu cổng với StreamWriter hoặc StreamReader với mã hóa văn bản chính xác.

0

Nếu bạn chỉ muốn tìm hiểu cách sử dụng cổng nối tiếp, hãy lấy một PC khác với HyperTerminal (đi kèm với Windows) và sử dụng nó để gửi và nhận dữ liệu từ máy phát triển của bạn qua cổng nối tiếp. Điều này sẽ giúp bạn kiểm soát rất dễ dàng những gì được gửi đến hộp phát triển của bạn, vì vậy bạn có thể tự tin rằng những gì bạn đang đọc và viết là chính xác. Một khi bạn đã có những điều cơ bản của I/O nối tiếp xuống, bạn có thể chuyển sang máy ảnh của bạn/cảm biến chuyển động/etc.

Bạn không đề cập đến hệ điều hành hoặc môi trường phát triển bạn đang sử dụng, nhưng trong VS 2005/.NET 2.0, có thực sự là một lớp SerialPort. Nếu bạn đang làm API Windows thô, MSDN có một bài viết tại http://msdn.microsoft.com/en-us/library/ms810467.aspx bao gồm các khái niệm cơ bản. Nếu bạn đang sử dụng một hệ điều hành khác, xin lỗi tôi không quen thuộc (tôi biết, boo rít lên tôi).

Điều quan trọng nhất là hãy nhớ đặt thông số giao tiếp của bạn ở cả hai bên của kết nối giống nhau. Có bốn tham số chi phối nếu cả hai bên có thể hiểu nhau: tốc độ truyền, bit-per-byte (thường là 8), bit chẵn lẻ (chẵn lẻ, chẵn lẻ lẻ, không, hoặc luôn luôn 1 hoặc 0) và dừng bit. HyperTerminal cũng liệt kê một tùy chọn "Flow Control", tôi khuyên bạn nên đặt nó thành "None" cho đến khi bạn cảm thấy thoải mái. Kiểm soát luồng Xon/Xoff là một cách khá phổ biến để tạm dừng phía bên kia trong khi bạn xử lý một vùng đệm dữ liệu.

0

Mua bộ vi điều khiển và xây dựng rô bốt đơn giản, máy nghiền cnc hoặc thứ gì đó. Atmel AVR và/hoặc PIC là phổ biến nhất từ ​​những gì tôi hiểu.

Cũng cung cấp nhiều trải nghiệm điện tử

2

Giao diện nối tiếp khá đơn giản để làm việc. Nhưng họ yêu cầu một số loại bộ giải mã ở đầu kia (chẳng hạn như UART.) Một tùy chọn khác sẽ sử dụng số parellel port. Lợi thế của việc sử dụng một cổng song song là bạn bắt đầu với một break ra khỏi các chân I/O. Bạn thường có thể kiểm soát 8 thiết bị với giao diện xây dựng rất đơn giản.

Hầu hết các nền tảng đều cung cấp một cách đơn giản để truy cập vào các cổng LPT mà không cần nỗ lực quá nhiều và một lần nữa chúng rất dễ giao diện.

kết quả nhanh cho hướng dẫn ...

LPT Cảng Thông tin ...

+0

Máy tính ngày nay không có cổng song song. Họ có? – atiyar

+0

Hầu hết không nhưng bài đăng này trong 7 năm tuổi và bạn vẫn có thể sử dụng các mẫu này với các thiết bị 'USB tới LPT'. Vẫn còn tốt hơn bây giờ có hàng trăm tùy chọn để làm điều này mà không có LPT. https://www.amazon.com/s/?field-keywords=usb+gpio+module –

Các vấn đề liên quan