29-03-2015, 06:35 PM | #1 |
Đệ tử 3 túi
Tham gia ngày: Apr 2008
Bài gửi: 50
: |
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); } } |
28-08-2015, 09:08 AM | #2 |
Nhập môn đệ tử
Tham gia ngày: Aug 2015
Bài gửi: 1
: |
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 |
|
|