01/10/2018, 08:13
Lỗi không xác định khi lập trình vi điều khiển
Dòng code phía dưới của em chạy không ổn định lúc đc lúc không xin các anh chị và các bạn giúp dùm với P1^ 0 nối với nút bấm. P2 gắn với các đèn led.
sbit BTN = P1^0;
void main()
{
unsigned char i;
while(1)
{
P2 = ~P2;
i = 0;
while(i < 100)
{
delay_ms(10);
if(BTN == 0)
{
delay_ms(20);
if(BTN == 0)
{
P2 = 0x00;
break;
}
}
i++;
}
if(i != 100)
break;
}
}
Bài liên quan
Nó chạy ko đc thì nó báo thế nào , bạn phải đưa thông báo lỗi ra chứ
lúc thì bấm vào thì nó dừng liền lúc thì bấm không dừng bạn!
Ở đây tôi đoán nút nhấn cậu đang tích cực mức 0, tức là nhấn thì BTN sẽ là 0.
Tại vòng while(i<100) nếu nhấn nút quá 20ms sẽ dính if(BTN==0) thứ 2 và sẽ thoát vòng while này mặc cho i có =100 hay không. Cái này hên xui như lô đề. Nhưng ngay bên dưới vòng while(i<100) lại có kiểm tra i!=100 để thoát while chính. Nếu lúc này i khác 100 sẽ thoát hoàn toàn chương trình-> chip chạy lăng quăng.
vậy bạn có cách giải quyết không ah xin đc chỉ giáo! mình chỉ học từ trên mạng nên bó tay bạn có thể giúp mình đc không cảm ơn rất nhiều!