Giúp về chế độ nhận SMS SIM900?
Collapse
X
-
Tags: None
-
Ơ ngon, bạn làm thế nào thế? có điều nhìn cái này thì mình nghĩ là dịch lại được thôi mà format của nó rõ thế còn gì? mỗi một ký tự sẽ được chứa trong 2 byte có nghĩa là có thể dùng để chứa ký tự Unicode. Nếu không quan tâm đến Unicode thì cứ đọc dạng như (0054=ascii(54)=6; 0065=ascii(65)=A; ........) Do ở đây không có ký tự unicode nào nên byte đầu trống (00) byte kế tiếp là số hiệu của ký tự trong bảng mã ascii
Comment
-
giả sử 1 hàm
Code:char string2char(char* str)// Đối số là chuỗi gồm 2 ký tự đại loại như '54' { // Kết quả trả về là 54 char tmp=str[0]-'0'; tmp*=10; tmp+=str[1]-'0'; return tmp; }
Comment
-
Ko cần dịch lại đâu, bạn chỉnh các thông số của lệnh CMNI là sẽ được thôi. Xem datasheet xem, các con số đó đều có ý nghĩa của nó mà
- Chuyên cung cấp và nhận đặt hàng các loại linh kiện điện tử, module GSM, GPS...
Số 70 - Hoàng Sâm - Nghĩa Đô - Cầu Giấy - Hà Nội
__Your Success, Our Happiness__
Comment
-
Code:#include <REGX52.H> #include <string.h> #include "stdio.h" #include "math.h" // Define Macro #define RL1 P2_0 #define RL2 P2_1 #define RL3 P2_2 #define RL4 P2_3 //-------------------------------------------------------- // Global variable #define BUFF_SIZE 20 unsigned char buffer[BUFF_SIZE]; //unsigned char dl_rv; unsigned char timer_count; bit flag__; bit ok; char dem; //------------------------------------------------------------- // Function Static void truyen_mang(char *s); void xu_ly_tin_nhan(void); void Process_mess(char *dtin); //--------------------------------------------------------------------- // ctrinh delay void delay(unsigned int ms) { unsigned int i; for(i=0;i<ms;i++); } //-------------------------- chuong trinh ngat nhan byt co tin nhan gui toi // khi co tin nhan gui toi thi thuc hien doc tin nhan void isr_tinnhan() interrupt 0 { truyen_mang("AT+CMGR=1\r"); // doc tin nhan tai o nho thu 1 cua SIM. delay(2000); } //------------------------------------------------------- // ham xu ly du lieu nhan duoc //----------------------------------------------------------------- // khoi tao UART void khoitao_uart(void) { SCON=0x52; TMOD=0x21; // khoi tao 2 timer time1 dung cho UART, timer0 dùng de tao time doc tin nhan TH1=TH1=-3; // baud = 9600 //TH0 = -10000/256; // 10ms //TL0 = -10000%256; TR1=1; // ES = 1; //TR0 = 1; // ET0 = 1; EX0 = 1; IT0 = 1; EA =1; } //---------------------------------clear buff------------ // void clear_buffer(void) { unsigned char i; for(i = 0 ; i< BUFF_SIZE ; i++) { buffer[i] = '\0'; } } //-------------------------------------------------------------------------- // Chuong trinh ngat UART nhan du lieu tu sim void isr_interrup() interrupt 4 { char dl_rv; if(RI) { dl_rv=SBUF; switch (dl_rv) { case '\*': clear_buffer(); dem = 0; break; case '#': Process_mess(buffer); break; default: buffer[dem] = dl_rv; dem++; if(dem>BUFF_SIZE) dem=0; break; } RI = 0; } } //-------------------------------------------------------- //+CMGR: "REC READ","+841653263756","","13/05/20,19:49:22+28"TB1 ON 1234> //> //OK //-------------------------------------------------- //---------------------------------------------------------------- // truyen mang dl xuong sim void truyen_mang(char *s) { // putchar(0x0d); //xuong dong while(*s) { putchar(*s); s++; delay(1000); } } //---------------------------------------------------------------- // Khoi tao Sim 900 void khoitao_sim(void) { delay(4000); truyen_mang("AT\n\r"); delay(10000); truyen_mang("AT+CMGF=1\n\r"); delay(10000); } //---------------------------------------------------------- // xu ly tin nhan nhan duoc void Process_mess(char *dtin) { if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '1') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'N') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4')) { RL1 = 0; truyen_mang("AT+CMGD=1\r"); delay(10000); truyen_mang("AT+CMGS=\"+841649802694\"\r"); delay(10000); delay(10000); truyen_mang("Thiet Bi 1 da duoc bat"); putchar(0x1A); } if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '2') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'N') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4')) { RL2 = 0; truyen_mang("AT+CMGD=1\r"); delay(10000); truyen_mang("AT+CMGS=\"+841649802694\"\r"); delay(10000); delay(10000); truyen_mang("Thiet Bi 2 da duoc bat"); putchar(0x1A); } if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '3') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'N') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4')) { RL3 = 0; truyen_mang("AT+CMGD=1\r"); delay(10000); truyen_mang("AT+CMGS=\"+841649802694\"\r"); delay(10000); delay(10000); truyen_mang("Thiet Bi 3 da duoc bat"); putchar(0x1A); } if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '4') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'N') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4')) { RL4 = 0; truyen_mang("AT+CMGD=1\r"); delay(10000); truyen_mang("AT+CMGS=\"+841649802694\"\r"); delay(10000); delay(10000); truyen_mang("Thiet Bi 4 da duoc bat"); putchar(0x1A); } if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '1') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'F') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4')) { RL1 = 1; truyen_mang("AT+CMGD=1\r"); delay(10000); truyen_mang("AT+CMGS=\"+841649802694\"\r"); delay(10000); delay(10000); truyen_mang("Thiet Bi 1 da duoc tat"); putchar(0x1A); } if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '2') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'F') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4')) { RL2 = 1; truyen_mang("AT+CMGD=1\r"); delay(10000); truyen_mang("AT+CMGS=\"+841649802694\"\r"); delay(10000); delay(10000); truyen_mang("Thiet Bi 2 da duoc tat"); putchar(0x1A); } if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '3') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'F') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4')) { RL3 = 1; truyen_mang("AT+CMGD=1\r"); delay(10000); truyen_mang("AT+CMGS=\"+841649802694\"\r"); delay(10000); delay(10000); truyen_mang("Thiet Bi 3 da duoc tat"); putchar(0x1A); } if((*(dtin) == 'T') && (*(dtin+1)== 'B') && (*(dtin+2)== '4') && (*(dtin+3)== ' ') && (*(dtin+4)== 'O') && (*(dtin+5)== 'F') && (*(dtin+6)== ' ') && (*(dtin+7)== '1') && (*(dtin+8)== '2') && (*(dtin+9)== '3') && (*(dtin+10)== '4')) { RL4 = 1; truyen_mang("AT+CMGD=1\r"); delay(10000); truyen_mang("AT+CMGS=\"+841649802694\"\r"); delay(10000); delay(10000); truyen_mang("Thiet Bi 4 da duoc bat"); putchar(0x1A); } } //------------------ chuong trinh chinh---------------- // void main(void) { khoitao_uart(); //PS=1; khoitao_sim(); delay(10000); flag__ = 0; ok = 0; truyen_mang("AT+CMGD=1\r"); delay(10000); truyen_mang("AT+CMGS=\"+841649802694\"\r"); delay(10000); delay(10000); truyen_mang("Do an tot nghiep svth: Nguyen Huy Bien k12D He Thong Da Duoc Khoi Dong"); putchar(0x1A); delay(10000); ES=1; while(1) { ; } }Nguyễn Huy Biên - 01649 802 694
gmail :
Comment
-
hoi dap sim900
Bạn ơi cho mình hỏi: Trong code của bạn dùng ngắt ngoài để nhận biết có tin nhắn gửi đến, nhưng mình không biết chân ngắt ngoài đó sẽ nối vào đâu của sim 900. Bạn chỉ giáo giúp mình với.Nguyên văn bởi bienhou Xem bài viếtbạn chỉ cần khởi tạo lênh AT+CMGF = 1\r\n là oke. ko cần gì thêm nhé, code đó mình làm chạy ầm ầm đó
Comment
dự án của bạn Tra theo mã, xem datasheet và đặt hàng trực tuyến. MicrochipROHMEpsonTaejin
Đặt hàng & tư vấn
Hà Nội024.3640 8561
TP.HCM028.3811 9870
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi nhathung1101Còn sống không lão??? Mất một thời gian chữa bệnh nên quên hỏi thăm.......
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 03:09 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi nhathung1101Thời buổi năng lượng xanh, nhất là xanh cả mặt... Thì Điện mặt giời, điện gió, sẽ lên ngôi.
Nếu không nắm bắt được cái cơ bản đó thì đi làm coder à? Mà coder giờ thất nghiệp cả lũ vì AI rồi!!!









...
-
Channel: Điện tử công suất
Hôm qua, 03:03 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi quangdonguehChà, lâu lắm rồi nhưng diễn đàn vẫn còn những chủ đề cốt lõi của điện tử công suất...-
Channel: Điện tử công suất
24-10-2026, 07:53 -
-
bởi bqvietNếu muốn tăng công suất cần tăng con chip và tăng biến áp lên lớn hơn. Thiết kế ban đầu dùng TNY25x và biến áp EE16 hoặc EE13. Tăng con chip lên TNY268 vẫn mạch nguyên lý đó và biến áp lên EE19 sẽ nâng công suất ra thêm nhiều. Tăng tối đa...-
Channel: Điện tử công suất
24-10-2026, 02:14 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
-
Trả lời cho Tìm VR 5 chânbởi bqvietTrang sản phẩm này có loại 5 chân và 8 chân
https://linhkienchatluong.vn/chiet-a...doi_s1595.aspx
Ngoài ra một trang cùng cấp với nó có loại 6 chân nữa, chắc đủ cho người muốn tìm....-
Channel: Hướng dẫn tìm thông tin linh kiện
17-10-2026, 17:19 -
-
bởi dinhthuong80Chào cả nhà, chúc cuối tuần vui vẻ!
Hôm nay mình lên đây nhờ ai biết chỉ dùm biến trở 5 chân này tên gọi là gì, có thể mua ở đâu vậy? Xin cám ơn nhiều! ...-
Channel: Hướng dẫn tìm thông tin linh kiện
-
Comment