PDA

View Full Version : Giúp đỡ: Truyền thông RF.


TRUNGDOLLAR
16-12-2012, 11:53 PM
Em đang làm đề tài đo nhiệt độ bằng con DS18B20 từ Slaver, sau đó truyền nhiệt độ lại cho Master qua RF (RX1/TX11) và hiển thị lên LCD... Tiếp theo, từ Master ấn nút button để điều khiển lại cho Slaver bật led, ở đây em dùng ngắt RB.
Làm từng bước thì từ Slaver truyền nhiệt độ về cho Master thì ok ( đã chạy mạch thực). Nhưng khi em muôn ấn nút button từ Master để Master gởi 1 chuỗi dữ liệu báo hiệu cho Slaver điều khiển led đơn thì em vẫn chưa làm được, ở đây em dùng ngắt RB.
Có anh nào đã làm đề tài này rồi xin giúp em, gần nộp rồi mà lâu nay em vẫn chưa hiểu được thuật toán như thế nào ??
Em định dùng 2 con Slaver, nhưng điều khiển ngược lại chưa được nên vẫn mới chỉ là giám sát nhiệt độ từ 2 con Slaver đó thôi.

sontvak42
21-12-2012, 11:57 AM
Em đang làm đề tài đo nhiệt độ bằng con DS18B20 từ Slaver, sau đó truyền nhiệt độ lại cho Master qua RF (RX1/TX11) và hiển thị lên LCD... Tiếp theo, từ Master ấn nút button để điều khiển lại cho Slaver bật led, ở đây em dùng ngắt RB.
Làm từng bước thì từ Slaver truyền nhiệt độ về cho Master thì ok ( đã chạy mạch thực). Nhưng khi em muôn ấn nút button từ Master để Master gởi 1 chuỗi dữ liệu báo hiệu cho Slaver điều khiển led đơn thì em vẫn chưa làm được, ở đây em dùng ngắt RB.
Có anh nào đã làm đề tài này rồi xin giúp em, gần nộp rồi mà lâu nay em vẫn chưa hiểu được thuật toán như thế nào ??
Em định dùng 2 con Slaver, nhưng điều khiển ngược lại chưa được nên vẫn mới chỉ là giám sát nhiệt độ từ 2 con Slaver đó thôi.
Code Master bạn cho cái button ấy vào chế độ ngắt ngoài hoặc ngắt RB để khi bạn thực hiện thì nó nhảy vào chương trình ngắt để send data qua bên slave nhận dữ liệu vì trong chương trình while của master luôn ở chế độ chờ nhận nên khi bạn có ấn button thì nó vẫn không thực thi được, bạn chú ý kiểm tra lệnh while(get_data()); trong code master. Bạn có thể sử dụng timeout để thoát câu lệnh này hoặc dùng một cách nào đó tạo ra một một vòng kiểm tra chương trình.
Chúc thành công!