PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Nhận dữ liệu từ máy tính xuống PIC qua Uart chưa chính xác (http://www.picvietnam.com/forum/showthread.php?t=30260)

chuaai 23-08-2012 09:37 PM

Nhận dữ liệu từ máy tính xuống PIC qua Uart chưa chính xác
 
Em đang làm về giao tiếp máy tính của PIC18f4431 với máy tính thông qua Uart, em gửi lên máy tính thì tốt nhưng không hiểu sao gửi từ máy tính xuống thì đúng chừng 70%, lúc đúng lúc sai. Cái em cần gửi là tốc độ động cơ (khi nhận đc chuối giá trị từ ngắt nhận Uart sẽ được cộng lại) ai có kinh nghiệm gì giúp với.
Đây là code em viết:

/*===================== Ngat nhan ki tu qua Uart =====================*/
#INT_RDA
void Receive_isr()
{
if (uart_flag == 0)
{
c[i]=RCREG; // nhan ki tu tu bo dem
RCREG=0x00; // xoa bo dem
c[i]=c[i]-0x30; // chuyen ki tu ASCII thanh so int
if (c[i] == 53) // ki tu e de bit ket thuc chuoi
{
uart_flag = 1; // khi co len 1 thi cho phep doc ket qua
j = i;
i = -1;
}
i++; // tang i de nhan vao bien ke cua mang
}
}


Mong được sự giúp đỡ, gợi ý của mọi người.
Rất cảm ơn.

hocmaivandot 06-09-2012 12:27 AM

code cua bạn chỉ đúng 70% là vì trong quá trình truyền dữ liệu từ máy tính xuống xảy ra hiện tượng lệch khung dữ liệu => dữ liệu bị sai => bạn có thể định địa chỉ đầu khung cho byte truyền trên pc .Còn phần ngắt nhận VDK : kiểm tra nếu byte nhận được đúng là địa chỉ đầu khung đó => xử lý data nhận được từ PC

hoanle1987 09-09-2014 02:03 PM

Hình như bạn chưa reset bộ đệm trước khi nhận dữ liệu mới.

bui tien sinh 09-09-2014 11:20 PM

Em cũng đang làm 1 mạch có giao tiếp Pic 18f26k22 với máy tính qua cáp chuyển đổi UART/USB

killdill045 18-11-2014 02:48 PM

dữ liệu bị sai => bạn có thể định địa chỉ đầu khung cho byte truyền trên pc .Còn phần ngắt nhận VDK : kiểm tra nếu byte nhận được đúng là địa chỉ đầu khung đó => xử lý data nhận được từ PC


Múi giờ GMT. Hiện tại là 10:07 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