Thông báo
Collapse
No announcement yet.
Giúp về chế độ nhận SMS SIM900?
Collapse
X
-
Ơ 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
-
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
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 11:58 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietĐơn giản thì có trải nghiệm này
http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81
Chỉ phần cứng,...-
Channel: Điện tử công suất
27-01-2026, 21:32 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pphức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
-
Channel: Điện tử công suất
26-01-2026, 08:52 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pcảm ơn bác nhiều nha, để e nghiên cứu
-
Channel: Điện tử công suất
26-01-2026, 07:38 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamkỹ sư nhạc sĩ dinhthuong dạo này lên tay nghề khá quá.
-
Channel: Tâm tình dân kỹ thuật
25-01-2026, 21:29 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Hát Mừng Sinh Nhật, sáng tác: HĐT, hòa âm-thể hiện: AI
-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 22:13 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chào bác, gần Tết công việc bác bận lắm phải không?
Vâng mọi người đều thế cả.
Em mới trả phí cho nó 1 tháng, nhờ nó hát thử ấy ạ. Tiếc vì em đã dốt nhạc lí lại lười học nên sáng tác thì vụng về mà hát demo...-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 21:53 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietCảm thấy cứng tay thì làm theo hướng dẫn khá chi tiết ở trang sau
https://www.instructables.com/DIY-1k...ge-Controller/-
Channel: Điện tử công suất
23-01-2026, 16:50 -
-
bởi Nexus 6PNhư tiêu đề, các bác giới thiệu e mạch sạc nlmt mppt có chức năng chỉnh dòng với, tấm PV của em 18V 55W, dùng để sạc cho khối pin sắt 3.2V 45A (sắp tới sẽ thay bằng ắc quy 12V)
e cảm ơn-
Channel: Điện tử công suất
23-01-2026, 11:23 -
-
bởi mylinhattNếu bạn đang tìm một dòng máy phay đứng CNC vận hành ổn định, gia công tinh chuẩn và tối ưu năng suất, thì Kitamura là lựa chọn rất đáng cân nhắc. Dòng máy này có kết cấu trục chính theo phương thẳng đứng, bàn máy nằm ngang và vận hành tự động thông qua điều khiển bằng máy tính...
-
Channel: Điều khiển - Tự động hóa
23-01-2026, 11:02 -

Comment