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
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
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Trả lời cho Đồng hồ công tơ điện tửbởi qpdt03Hình ảnh mạch của nó đây, mình mang đồng hồ điện tử ra đo giá trị điện trở dán ghi trên lưng các con điện trở trong mạch đều đúng, mà công tơ điện tử vẫn đo sai, không biết nó hỏng chỗ nào; đã ấn nút reset lại nhưng vẫn không đc. Nhờ các bác có kinh nghiệm giúp đỡ. Thanks!
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
bởi qpdt03Mình mới mua 1 cái đồng hồ công tơ điện tử trên shopee; loại hiển thị 4 thông số V,A,W và tổng số Kwh nhưng về cắm thử đc 1 hôm thì chỉ số V báo 378v, cắm về 100v cũng báo 350v có bác nào biết cách sửa chữa nó không chỉ giúp mình nhé. Xin cảm ơn mọi người đã đọc bài.
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 16:46 -
-
bởi notooth1Các bạn xem giúp mình đây là tụ phân cực hay không phân cực nhé.
...-
Channel: Hướng dẫn tìm thông tin linh kiện
20-03-2024, 18:06 -
-
bởi carl22Xin chào tất cả mọi người.
Tôi hiện đang chế tạo một máy phay CNC. Máy phay được điều khiển thông qua Raspberry Pi 3 b+ và Smoothieboard v1.1 với trình điều khiển động cơ bước ACT DM 542 và động cơ 1,8° 2A.
Trục X 1,8° 3 A chạy qua trình điều khiển động cơ bước vì bảng sinh tố chỉ...-
Channel: Cơ cấu chấp hành (Actuator)
20-03-2024, 15:48 -
-
bởi ningoleChào các bác! Em là newbie về điện tử đang muốn làm một cái đèn báo cho ổ cắm nhưng chưa rành về mạch mong các bác giúp đỡ!
Nhu cầu của e là muốn làm 1 đèn báo nguồn AC 220V:
Nguồn 220v -> Phích cắm -> nối với 1 ổ cắm....-
Channel: Điện tử dành cho người mới bắt đầu
20-03-2024, 11:09 -
-
Trả lời cho có cần thiết phải lắp mạch bms cho khối pin ?bởi bao98Tất nhiên là bạn cần nó!
BMS là một phần không thể thiếu trong hệ thống ắc quy của xe điện.
nếu bạn không cài đặt BMS, có thể xảy ra vấn đề về pin, thậm chí có thể dẫn đến tai nạn-
Channel: Điện tử dành cho người mới bắt đầu
19-03-2024, 22:51 -
-
Trả lời cho [đồ án] xung đột nguồn điện 12vbởi bao98Để tìm hiểu xem bộ điều hợp UART của bạn được kết nối với cổng USB nào trên Raspberry Pi, bạn có thể sử dụng lệnh ls /dev/ttyUSB* hoặc ls /dev/ttyACM* trong thiết bị đầu cuối. Điều này sẽ liệt kê các cổng USB có sẵn để liên lạc nối tiếp. Cáp có thể được xem ở đây. Bạn cũng có thể kết nối và...
-
Channel: Hỗ trợ học tập
19-03-2024, 22:38 -
-
Trả lời cho cho hỏi move điện là g?bởi DiennuocAQLà sự tiếp xúc giữa 2 tiếp điểm không được tốt gây ra. Ví dụ như đầu dây điện cắm vào chân attomat nhưng lâu ngày ốc siết lỏng dần ra, làm dòng điện chuyển tiếp không tốt, gây ra hệ thống điện chập chờn gọi là move ạ
-
Channel: Điện tử dành cho người mới bắt đầu
19-03-2024, 12:40 -
Comment