![]() |
|
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ử 4 túi
|
Pic rs232 ???!!!
Có ai giúp em với ?! Giao tiếp PIC16F877A - RS232, nó vẫn gửi và nhận dữ liệu từ máy tính bình thường, những mỗi tội là ký tự rờ rờ, chả đúng gì cả, gửi 1 ký tự từ máy tính xuống , nó hiển thị lên LCD và phát trở lại máy tính mà sai bét , hu hu, ai giúp em với
![]() Code:
#include <16f877a.h> #include <def_877a.h> #device *=16 #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stop=1) #fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT #include <lcd_lib_4bit.c> char c; char d[]="Test RS232"; int8 i; #INT_RDA void Receive_isr() { c=getc(); delay_us(10); //printf(c); putc(c); } ///////////////////////////////////////////// void main() { ENABLE_INTERRUPTS(INT_RDA); enable_interrupts(global); lcd_init(); for(i=0;i<10;i++) { //printf(d[i]); putc(d[i]); } while(1) { lcd_putcmd(0xC0); lcd_putchar(c); } } |
![]() |
![]() |
![]() |
#2 |
Đệ tử 4 túi
|
Hic, thử nối 2 con PIC với nhau thì vẫn truyền hình như chẳng đúng, bó tay bó cẳng, nếu không có ai giúp nữa có lẽ là bó bột
![]() |
![]() |
![]() |
![]() |
#3 |
Đệ tử 4 túi
|
HIc, chuối cả nải các bác ạ, cắm cái LCD vào thì nó bị nhiễu ngay, em đoán là nó hút dòng của Max232 nên sinh ra điện áp sai
![]() Ai có thể giải thích giúp em đc ko? |
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: May 2009
Bài gửi: 4
: |
Mã ACSII của số 0 là 0x30, còn tùy xem bạn truyền số 0 được hiểu theo nghĩa như thế nào:
- Nếu là số nhị phân thì bạn có thể hiểu theo hai cách: 0b00000000 (0x00 theo Decimal = 0) hay 0b00110000 (0x30 mã ACSII của số 0) - Tương tự như thế số 9: 0b00001001 (0x09 theo Decima = 9) hay 0b00111001 (0x39 mã ACSII của số 9) thay đổi nội dung bởi: ngotuyen, 29-05-2009 lúc 03:00 PM. |
![]() |
![]() |
![]() |
#5 |
Đệ tử 2 túi
Tham gia ngày: Aug 2008
Bài gửi: 40
: |
Hi thientaisodo! Bạn lưu ý một vấn đề nhỏ đó là: Xung nhịp của Thạch anh trên mạch phải đúng bằng xung nhịp khai báo trong CCS.
|
![]() |
![]() |
![]() |
#6 |
Đệ tử 1 túi
Tham gia ngày: Feb 2009
Bài gửi: 19
: |
Theo mình thấy vấn đề của bạn thientaisodo không phải là ở code PIC, cơ bản là bạn đã giao tiếp được với PC và đã truyền nhận dữ liệu được. Vấn đề của bạn là bạn xử lý dữ liệu PC nhận được chưa phù hợp. Không biết bạn kiểm tra dữ liệu nhận được từ PIC như thế nào? Bạn lưu vào file, xuất ra màn hình? Bạn viết chương trình trên PC giao tiếp vơi PIC dùng phần mềm gì ?
|
![]() |
![]() |
![]() |
#7 |
Đệ tử 5 túi
|
Bạn tét cổng com trước. Nối tx và rx lại. Xem cổng com có sao ko đã. KO được tìm cách khác. Coi chừng com hư.
__________________
Bảng ledsigns chất lượng cao... http://www.ledviet.info - manhha2700@yahoo.com Đt:0949299699 |
![]() |
![]() |
![]() |
|
|