bebungbu
25-09-2009, 11:43 AM
Chào mọi người,
Chuyện là thế này, mình đang dùng CCS C.
* Mình có viết firmware cho PIC18, trong đó mình dùng RS232, I2C, SPI. Trong đó SPI của PIC18 là master. Trong code có dùng printf để debug, firmware này chạy rất ổn định dù có dùng printf debug hay không có printf.
* Bây giờ mình chuyển firmware đó sang PIC24.
Sau khi chuyển code sang PIC24 xong, nếu trong code của mình có dùng hàm printf để debug thì kết quả là firmware chạy vẫn đúng như mong muốn, nhưng khi bỏ hàm printf thì nhận thấy data nhận về từ SPI không đúng nữa.
Chưa hết, khi đang dùng hàm printf (lúc này SPI vẫn chạy như mong muốn) mình include thêm lcd.c (chỉ mới include chưa gọi hàm) thì kết quả SPI lại sai.
Sơ đồ mạch thiết kế các chân RS232, SPI, LCD hoàn toàn riêng biệt.
Thật kỳ lạ, mong mọi người gỡ rối dùm.
Chuyện là thế này, mình đang dùng CCS C.
* Mình có viết firmware cho PIC18, trong đó mình dùng RS232, I2C, SPI. Trong đó SPI của PIC18 là master. Trong code có dùng printf để debug, firmware này chạy rất ổn định dù có dùng printf debug hay không có printf.
* Bây giờ mình chuyển firmware đó sang PIC24.
Sau khi chuyển code sang PIC24 xong, nếu trong code của mình có dùng hàm printf để debug thì kết quả là firmware chạy vẫn đúng như mong muốn, nhưng khi bỏ hàm printf thì nhận thấy data nhận về từ SPI không đúng nữa.
Chưa hết, khi đang dùng hàm printf (lúc này SPI vẫn chạy như mong muốn) mình include thêm lcd.c (chỉ mới include chưa gọi hàm) thì kết quả SPI lại sai.
Sơ đồ mạch thiết kế các chân RS232, SPI, LCD hoàn toàn riêng biệt.
Thật kỳ lạ, mong mọi người gỡ rối dùm.