![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển... |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Sep 2010
Bài gửi: 11
: |
![]() 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 .... } |
![]() |
![]() |
![]() |
#2 | |
Đệ tử 1 túi
Tham gia ngày: Mar 2010
Bài gửi: 13
: |
![]() 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; } } |
|
![]() |
![]() |
![]() |
#3 | |
Đệ tử 6 túi
|
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. |
|
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: Oct 2010
Bài gửi: 2
: |
code sai roi ban oi,65 la ma cua PIC con truyen tu VB xuong la ma ASCII
|
![]() |
![]() |
![]() |
#5 |
Nhập môn đệ tử
Tham gia ngày: Oct 2010
Bài gửi: 2
: |
phai chuyen thanh ma ASCII thi PIC moi hieu dc
|
![]() |
![]() |
![]() |
#6 | |
Nhập môn đệ tử
Tham gia ngày: Apr 2012
Bài gửi: 3
: |
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"; } |
|
![]() |
![]() |
![]() |
|
|