Trích:
bonsevich
Nhập môn đệ tử
Tham gia ngày: Feb 2007
Bài gửi: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Kinh nghiệm khi làm mạch thực tế là bao giờ cũng phải đi từ đơn giản đến phức tạp. Một mạch sau khi làm xong trước hết phải test xem nó có chạy được chương trình cơ bản không đã. Đối với vi điều khiển, đơn giản nhất là chương trình test I/O và sử dụng hàm delay. Các bạn chưa test mà đã làm ngay chương trình rồi thì rất khó gỡ.
#include "D:\RS232\RS232.h" : không biết bạn còn thêm định nghĩa gì nữa, những định nghĩa ở dưới khá đủ rồi.
#include <float.h>,#include <math.h>,#include <string.h> với chương trình đơn giản không cần phải thêm những thứ này.
#include <def_877a.h> mình nghĩ là #include <16f877a.h> chứ nhỉ.
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7) thiếu bits=8.
2 ngắt ngoài chưa thấy để làm gì thì có thể bỏ qua.
portb là cái gì thế nhỉ? cần phải có định nghĩa trước: #byte portb=6.
bạn thử sửa xem có chạy được không nhé. bạn nên thêm vào lênh putc(buf) sau lệnh getc() trong ngắt nhận. và so sánh ký tự nhận được với 1 giá trị nào đó rồi hãy bật cổng B
Chúc bạn thành công
|
#include "D:\RS232\RS232.h" đây là include đường link cho bài của bạn digan thay vì include thư viện 16f877a.h
còn thư viện def_877a.h là thư viện tự định nghĩa địa chỉ của người dùng chứ không phải thư viện 16f877a.h như bạn bonsevich nghĩ! và nó không ảnh hưởng đến chương trình của bạn!