![]() |
ngắt timer
Các bác xem giúp em chương trình này, ko biết bị lỗi gì mà chương trình chỉ xuất ra v=5 liên tục ( mục tiêu của em là tăng v lên 1 đơn vị sau mỗi 10ms = ngắt của timer1) . thx nhieu
Code:
#include <16F877a.h> |
Chương trình của bạn gán cho x = 5, thay vì gán giá trị đầu là 5 cho v. Biến v của bạn vẫn được tăng lên sau mỗi ngắt timer, nhưng lệnh printf không in ra v, mà có lẽ in ra chuỗi "%x", với x là biến được khởi tạo bằng 5. Tôi không rõ hành vi của lệnh printf trong CCS C như thế nào khi nó được truyền các tham số kiểu này (tôi không dùng CCS C).
Thân, |
Trích:
Có lẽ bạn post chương trình chưa đầy đủ vì có vài biến khai báo chẳng để làm gì, vài biến thì phải làm nhưng lại không khai báo, nếu đúng y chang như chương trình này thì kết quả của bạn ra luôn là 5 là hoàn toàn vô lý vì "chưa dịch được" |
Trích:
|
Sau ngắt phải xóa cờ tràn TMR1IF=0;
Bạn lekhoa nhầm ở biến x như các bác đã nói. |
hành vi của lệnh :printf("%x",v);
bạn muốn làm gì với lện này?? nếu hiện thị lên LCD hay led 7 vạch thì lệnh này không hiện kết quả như bạn nói được. |
Múi giờ GMT. Hiện tại là 12:15 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam