Ðề tài: lỗi nhận RS232
View Single Post
Old 04-05-2009, 12:06 PM   #3
tungtot_vl
Đệ tử 6 túi
 
tungtot_vl's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 154
:
code trên có chạy được đâu mà bạn bảo là nhận không đúng
bạn khai báo phần cứng như sau. thạch anh chạy 20M
#include<18f4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CP UDIV1,VREGEN,NOBROWNOUT
#device 18F4550*=16 ADC=10
#use delay(clock=48000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
mỗi khi giao tiếp, PC chỉ truyền xuống 1 byte. khi có ngắt RDA chương trình (PIC) nhảy vào ngắt xử lý ctr ngắt (nhận 1 byte từ PC gửi xuống) sau đó nhảy về vị trí củ. khi có ngắt thì nhảy vào xử lý tiếp ctr ngắt để nhận 1 byte khác từ PC gửi xuống. chứ nó không nằm ở chương trình ngắt RDA để nhận toàn bộ chuỗi từ PC gửi xuống. dó đó phần do ... white() của bạn để lập lại cho đến khi nhận byte stop là không đúng.
bạn xem lại lý thuyết về các ngắt nhé
tungtot_vl vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn