![]() |
Help em truyền 1 ki tự xuống vdk
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 .... } |
Trích:
Quan trọng là bạn gửi tín hiệu từ PC-> PIC ở dạng nào thôi nếu gửi dạng DEC thì như vậy là đúng rồi Còn nếu gửi dạng ký tự thì ( c==a) là đúng bạn dùng hàm switch trông sẽ hay hơn cái này mình đang dùng này hy vọng giúp được bạn #INT_RDA void RDA_interrupt(){ value = getc(); delay_ms(10); putc(value); switch(value) { case 'f': forward(); break; // neu ky tu nhan duoc la 'f' di thang. case 'l': left(); break; case 'r': right(); break; case 'b': backward(); break; case '1': M1_forward(); break; case '2': M1_backward(); break; case '3': M1_stop(); break; case '4': M2_forward(); break; case '5': M2_backward(); break; case '6': M2_stop(); break; default: full_stop(); break; } } |
Trích:
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. |
code sai roi ban oi,65 la ma cua PIC con truyen tu VB xuong la ma ASCII
|
phai chuyen thanh ma ASCII thi PIC moi hieu dc
|
Trích:
Gửi số xuống em đã làm được Còn cái gửi kí tự xuống như trên thì em dùng lệnh gửi ri đúng không anh. Sao nó vẫn không được kết quả. private void turnright_Click(object sender, EventArgs e) { serialPort1.Write("r"); STATUS.Text = "ROBOT TURN RIGHT"; } |
Múi giờ GMT. Hiện tại là 09:06 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