Trích:
Nguyên văn bởi magic_boy_1989
em có 1 đoạn code truyen ki tu như sau : không biết la hàm if(c==65 đúng không)hay if(c==A), nhờ mấy huyen xem hộ code co bi sai không ?em muốn nhấn A thi pinB0=0 tương tự khi nhấn B va C,chi em vơi mốt là em phải nộp báo cáo rui Thanks
char c;
////////////////Chuong Trinh Con////////////////////////////////////
#INT_RDA //khai bao ngat khi co tin hieu thanh cong tu cong com
void receive_isr()
{
c=getc(); // thu du lieu nhan duoc cat giu vao bien c
while(1)
{
if (c==65){ //65 la ma DEC cua chu A
input(pin_B0.0);
}
if (c==66){ //66 la ma DEC cua chu B
input(pin_B2.0);
}
if (c==67){ //66 la ma DEC cua chu B
input(pin_B4.0);
}
}
}
void main()
{while(true)
{
ENABLE_INTERRUPTS(INT_RDA); // ngat khi data nhan tu RS232 san sang
ENABLE_INTERRUPTS(GLOBAL); // ngat toan cuc
....
}
|
Bạn viết như vậy thì chương trình của bạn không thoát khỏi vòng lặp while(1) trong ngắt..như vậy sẽ "treo"
còn muốn xem ký tự bạn truyền đúng hay sai thỉ xem bảng mã ASCII .chúc bạn thành công.