|
Tài trợ cho PIC Vietnam |
Lỗi lập trình ngôn ngữ cấp cao Những lỗi trường gặp trong lập trình. Khóa luồng khi bug được lỗi. |
|
Ðiều Chỉnh | Xếp Bài |
23-02-2008, 03:47 PM | #1 |
PIC Bang chủ
|
Bật tắt LED không được?
Một số bạn viết chương trình với C và thử trên mạch thấy LED không sáng hoặc không tối được khi đặt PORTx.i ở mức cao.
Các bạn chú ý cần phải đặt chương trình trong vòng lặp while(1){} Hoặc đặt lệnh này ở cuối chương trình, hoặc thêm vào đoạn mã MPASM: #asm SLEEP #endasm Điều này xảy ra do chương trình sau khi chạy tới cuối cùng trên C sẽ không hiểu được đoạn END của chương trình. Khi đó chương trình tiếp tục chạy tiếp và nhận toàn các giá trị không hiểu được của phần chương trình không được viết ở phía dưới. Khi viết bằng MPASM ta luôn nhớ và luôn khoá chương trình bằng GOTO $ hoặc SLEEP, nhưng khi viết bằng C thì lại thường hay quên gọi while(1){} nên xảy ra tình trạng này. Điều này không chỉ xảy ra với việc bật tắt LED, nhưng mà thường khi viết chương tình dài thì ta không bị gặp lỗi này do đã có vòng lặp while. Nhưng nhất là những lúc làm chương trình test thì lỗi này hay xảy ra. Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
|
|