PDA

View Full Version : Giúp mình hàm getc() của CCS.


vn00426941
29-03-2015, 06:35 PM
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