PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Giúp mình hàm getc() của CCS. (http://www.picvietnam.com/forum/showthread.php?t=34161)

vn00426941 29-03-2015 06:35 PM

Giúp mình hàm getc() của CCS.
 
Cho mình hỏi về hàm getc() của CCS. Mọi người cho mình hỏi hàm này nó sẽ đọc dữ liệu từ cổng UART như thế nào ? Thí dụ mình truyền cái câu này:


+CMGR: "REC UNREAD","+84934306492","","15/03/24,22:30:43+28" Test nhan tin

Mình cứ tưởng là nó sẽ in ra terminal là:

R: "REC UNREAD","+84934306492","","15/03/24,22:30:43+28" Test nhan tin

Nhưng mà mình lại thấy kết quả nó in ra Terminal là:

R: "REC UNREAD","+84934306492","","15/03/24,22:30:43+28"

Mình không hiểu lý do tại sao phần " Test nhan tin" tại sao nó lại bị mất. Nếu mình muốn lấy tới: "Test tin nhắn" luôn thì mình phải dùng hàm gì của CCS để lấy hết.

CODE:


#INT_RDA
void rda_isr(void)
{
c=getc();

if(c=='+') c1=c;
if(c=='C') c2=c;
if(c=='M') c3=c;
if(c=='G') c4=c;
if(c=='R') c5=c;

if(c1=='+' && c2=='C' && c3=='M' && c4=='G' && c5=='R')
{
putc(c);
}
}

phanvinh 28-08-2015 09:08 AM

Phần tin nhắn có cấu trúc là:
<CR><LF>+CMGR: "REC READ","+XXXXXXXXXXXX",,"02/03/18,09:54:28+40"<CR><LF>
//There is SMS text<CR><LF>
không biết khi gặp ký tự kết thúc câu thì các giá trị c1 kia có reset giá trị không?
mình dùng cách đếm dấu " đến 6 thì lấy


Múi giờ GMT. Hiện tại là 02:56 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam