![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 |
Đệ tử 2 túi
Tham gia ngày: Aug 2009
Bài gửi: 28
: |
Đầu tiên e cám ơn bác namqn vì bác luôn tận tình giúp đỡ!
Đoạn code gửi nhận ký tự của em thế này, em không dùng ngắt: //function name: putch_uart //Description: send a character to serial port //return: none void putch_uart(unsigned char byte){ /* output one byte */ while(!TXIF) /* set when register is empty */ continue; TXREG = byte; } //////////////////////////////////////////////////////////////// //function name: getch_uart //Description: get a character from serial port //return: received character unsigned char getch_uart(void){ /* retrieve one byte */ while(!RCIF) /* set when register is not empty */ continue; return RCREG; } //////////////////////////////////////////////////////////////// //function name: getche_uart //Description: get a character and resend the character via // serial port //return: received character unsigned char getche_uart(void){ unsigned char c; putch_uart(c = getch_uart()); return c; } trong hàm main e viết thế này (trích) { //... putch_uart('D'); while(1) getche_uart(); //.. } thì ký tự nhận được không phải là D mà là cụm ba 00 00 FC hàm getche_uart() cũng gửi về ký tự không giống ký tự gửi lên. Em cũng gửi từ PC xuống ký tự D thì nhận được từ PIC lên hoặc là E0 hoặc là 00 (E chọn phần mềm quan sát trên PC là Terminal, và set up baud là 9600) |
![]() |
![]() |
![]() |
#2 | |
Trưởng lão PIC bang
|
Trích:
Ở main(), bạn chỉ nên xuất một ký tự và chờ nhận 1 ký tự, không nên đặt lệnh gọi hàm getche_uart() vào vòng while (1). Theo hiện tượng bạn đã mô tả, tôi cho là baud rate hai bên không giống nhau. Bạn hãy kiểm tra lại tốc độ xung clock của PIC xem có đúng như bạn đang giả thiết hay không. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 2 túi
Tham gia ngày: Aug 2009
Bài gửi: 28
: |
Em vẫn chưa giải quyết được vấn đề này, cho em hỏi dùng thạch anh ở mode HS có cần nối thêm điện trở Rs giữa điểm giao của thạch anh và tụ với chân OSC2 của PIC ko?
P/s: Em đính thêm file cho rõ thông tin em hỏi |
![]() |
![]() |
![]() |
|
|