![]() |
|
|
#3 |
|
Đệ tử 4 túi
Tham gia ngày: Aug 2006
Bài gửi: 81
: |
nếu em một mảng truyền lên PC bằng lệnh putc() thì không có gì sai cả,cái khác ở đây là sẽ có ký tự phản hồi từ Mobie(cái này thì em đã kiểm tra gữa mobie và PC) và làm cho ngắt nhận xảy ra không còn đúng nữa
nếu em thêm 1 khoảng trễ như thế này thì số ngắt nhận xảy ra nhiều hơn,nhưng vẫn không đúng: Code:
void read_SMS(){
int8 i,j;
i=0;
j=0;
while ((i<18)){
putc(mang1[i]);
delay_ms(10);
i++;}
while (j<11){
putc(mang2[j]);
delay_ms[10];
j++;}
}
em nghĩ vấn đề ở đây là do sự truyền nhận xảy ra liên tục làm cho các ngắt nhận xảy ra sai nhưng cũng thấy vô lý vì với tốc độ 9600 bit/s thì 1 byte truyền đi mất khoảng 900 us,trong khi đó 1 lệnh của PIC thực hiện trong 1/3 us (thạch anh 12M) --------> khi PIC truyền xong 1byte,thì PIC có thể thực hiện 2700 lệnh trước khi truyền byte tiếp theo,do vậy nó phải đủ thời gian để nhảy vào ngắt nhận đển nhận byte phản hồi từ Mobie chứ --------> rất khó hiểu Mong anh cùng em suy nghĩ,giải thích vấn đề này! |
|
|
|
|
|