em mới chuyển sang viết C cho pic mà cảm thấy nản quá
hồi trước em sử dụng ASM viết cho con 18f46k20 giao tiếp SPI thì không gặp vấn đề gì nhưng nay chuyển sang HT pic viết gặp một chút vấn đề mong các cao thủ giúp đỡ.
để chuyển dữ liệu qua modun MSSP em sử dụng lệnh sau:
unsigned char data = 60;
SSPBUF = data;
thì dữ liệu truyền qua SPI cứ loạn lên
nhưng khi thay bằng đoạn mã
SSPBUF = 0X60;
thì lại không gặp vấn đề gì
xem lại code ASM mà trình dịch dich ra em thấy thế này:
nếu sử dụng đoạn mã đầu tiên thì đoạn chương trình có dạng
MOVFF SSPBUF,DATA
NOP
em thử thay lại nó bằng dòng lệnh
MOVF DATA,W
MOVWF SSPBUF,F
THÌ CHƯƠNG TRÌNH LẠI CHẠY BÌNH THƯỜNG
các cao thủ cho em hỏi trong HT pic có cách nào để thay đổi cách dịch của chuơng trình không ah? hoặc là có cách nào khắc phục lỗi trên không?
help meeeeeeeeeeeeeeee!
hồi trước em sử dụng ASM viết cho con 18f46k20 giao tiếp SPI thì không gặp vấn đề gì nhưng nay chuyển sang HT pic viết gặp một chút vấn đề mong các cao thủ giúp đỡ.
để chuyển dữ liệu qua modun MSSP em sử dụng lệnh sau:
unsigned char data = 60;
SSPBUF = data;
thì dữ liệu truyền qua SPI cứ loạn lên
nhưng khi thay bằng đoạn mã
SSPBUF = 0X60;
thì lại không gặp vấn đề gì
xem lại code ASM mà trình dịch dich ra em thấy thế này:
nếu sử dụng đoạn mã đầu tiên thì đoạn chương trình có dạng
MOVFF SSPBUF,DATA
NOP
em thử thay lại nó bằng dòng lệnh
MOVF DATA,W
MOVWF SSPBUF,F
THÌ CHƯƠNG TRÌNH LẠI CHẠY BÌNH THƯỜNG
các cao thủ cho em hỏi trong HT pic có cách nào để thay đổi cách dịch của chuơng trình không ah? hoặc là có cách nào khắc phục lỗi trên không?
help meeeeeeeeeeeeeeee!
Comment