Thông báo

Collapse
No announcement yet.

Giúp đỡ về đoạn code đọc tin nhắn

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Giúp đỡ về đoạn code đọc tin nhắn

    Chào các bác. Em đang thử đoạn code đọc tin nhắn sms để điều khiển. Em viết đoạn code đọc như sau nhưng nó không chạy được... Các bác giúp e với, em sắp phải nộp rồi ạ. ở ngay câu lệnh temp = getchar(); hình như là nó không chạy rồi hay sao ấy ạ.
    Code:
      printf("AT+CMGR=1\r\n");
                temp = getchar();
                if(temp == 13)
                {
                    temp = getchar();
                    if(temp == 10)
                    {
                        if(temp == 43)
                        {
                            do
                            {
                                temp = getchar();
                            }while (temp !=10);
                            k = 0;
                            do
                            {
                                temp = getchar();
                                if(temp != 13 && temp != 10)
                                    sms_array[k++] = temp;    
                            }while (temp != 10);
                            if(compare(status) == 1)         // So sanh noi dung tin nhan voi code
                            {
                                    printf("AT+CMGS=\"0979982996\"\r\n");
                                    delay_ms(1000);
                                    printf("so nuoc: %6.2f Thoi gian 1 xung: %d",index,Chu_Ky);
                                    putchar(26);
                                    delay_ms(1000);
                                    putchar(27);
                                    for( k=0;k<14;k++) 
                                        sms_array[k] = '\0';
                                    delay_ms(1000);
                                    printf("AT+CMGD=1\r\n");
                            }
                            else
                            {
                                lcd_gotoxy(3,3);
                                lcd_puts(sms_array); 
                                delay_ms(100);  
                                for( k=0;k<14;k++)
                                    sms_array[k] = '\0';
                                printf("AT+CMGD=1\r\n");             
                                delay_ms(1000);
                                printf("AT+CMGD=2\r\n");
                                delay_ms(1000);
                            }
                        }
                        else
                        { 
                            lcd_gotoxy(9,1);
                            sprintf(buff_index_show,"%6.2f",index); 
                            lcd_puts(buff_index_show);
                            delay_ms(1000);   
                        }    
                    } 
                }

  • #2
    Nguyên văn bởi nvc_k6 Xem bài viết
    Chào các bác. Em đang thử đoạn code đọc tin nhắn sms để điều khiển. Em viết đoạn code đọc như sau nhưng nó không chạy được... Các bác giúp e với, em sắp phải nộp rồi ạ. ở ngay câu lệnh temp = getchar(); hình như là nó không chạy rồi hay sao ấy ạ.
    ...
    Viết lách thế này thì chạy bằng niềm tin...
    Câu hỏi quá sơ sài, muốn giúp cũng khó.
    Ít ra cũng phải nêu ra sơ đồ, đưa code cũng phải đầy đủ một chút... có đầu, có cuối... Cái gì đã được, cái gì chưa được... lại còn kêu gấp!!!! Nghĩ mà nản.

    Các MOD tính sao chẳng lẽ cứ để tình trạng "Người cần giúp cũng vô trách nhiệm với chính bản thân mình" như thế này thì buồn nhỉ???!!!

    Mình muốn tìm thêm một người trẻ hỗ trợ mình món điện tử, VXL mà tìm mỏi hết cả mắt... hơn 2 tháng rồi chưa được!!!
    Hôm nay trời nắng chang chang.
    Mèo con đi học chẳng mang thứ gì.
    Chỉ mang một cái bút chì.
    Và mang một mẩu bánh mì con con.

    Comment


    • #3
      Đây là em chỉ đưa đoạn code dùng để đọc tin nhắn. Các phần khác em không đưa vào vì nó không có vấn đề. Em test thử trên mạch thì chỉ có phần đọc tin nhắn là không được nên mới đưa đoạn code này vào (không phải là không được mà nó không ổn định, lúc đọc được lúc không). Câu hỏi của em thì cũng chỉ là phần đọc tin nhắn thôi. Ai đã làm thì nhìn code em là thấy sai đúng ở đâu rồi. Chả nhẽ em đưa code vào rồi lại phải giải thích từ dòng đầu đến dòng cuối cho các bác xem rồi mới trả lời em...

      Comment


      • #4
        Về cơ bản post thế này là tàm tạm rồi. Quan tâm hỗ trợ đoạn nào thì viết đoạn đấy thôi. Còn hơn mấy ông quẳng cả núi code lên nhìn hoa hết cả mắt.

        Tuy nhiên ở đây bạn cũng phải mô tả xem nó bị lỗi thế nào? Đang dùng chế độ đọc tin là dạng gì PDU hay Text. Nếu PDU thì còn phải giải mã nữa.
        AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
        Xem thêm tại Online Store ---> Click here
        Mob: 0982.083.106

        Comment


        • #5
          Em ở đây là đọc tin nhắn dạng text. Như em nói ở trên là lúc đọc được lúc không chứ không có bị lỗi ở đâu cả. Em đang bí chỗ này thôi.

          Comment


          • #6
            Nguyên văn bởi nvc_k6 Xem bài viết
            Đây là em chỉ đưa đoạn code dùng để đọc tin nhắn. Các phần khác em không đưa vào vì nó không có vấn đề. Em test thử trên mạch thì chỉ có phần đọc tin nhắn là không được nên mới đưa đoạn code này vào (không phải là không được mà nó không ổn định, lúc đọc được lúc không). Câu hỏi của em thì cũng chỉ là phần đọc tin nhắn thôi. Ai đã làm thì nhìn code em là thấy sai đúng ở đâu rồi. Chả nhẽ em đưa code vào rồi lại phải giải thích từ dòng đầu đến dòng cuối cho các bác xem rồi mới trả lời em...
            Bạn có khẳng định 100% là bạn đã khoanh vùng lỗi rơi vào đoạn code này không? Vấn đề của bạn mắc phải chưa hẳn đã nằm trong đoạn code mà bạn đã post lên. Hơn nữa bài đầu thì bạn nói không chạy được, bài sau lại nói lúc được lúc không???
            Khi hỏi một vấn đề nhỏ bạn không cần Post cả 1 Project, nhưng cũng đừng cụt ngủn như thế... Tốt nhất nên đưa ra 1 Program trọn vẹn chỉ cần nhỏ gọn thôi, Ý tôi là vậy, đừng để bài viết của mình thành rác...

            printf("AT+CMGR=1\r\n");
            temp = getchar();
            if(temp == 13)
            {
            temp = getchar();
            if(temp == 10)
            {
            if(temp == 43)
            {
            ....
            Nhìn kỹ ra thì đoạn này có vẻ thiếu 1 câu temp = getchar(); sửa lại như sau xem sao:
            printf("AT+CMGR=1\r\n");
            temp = getchar();
            if(temp == 13)
            {
            temp = getchar();
            if(temp == 10)
            {
            temp = getchar();
            if(temp == 43)
            {
            ....

            Không có dòng lệnh này thì khác nào temp vừa = 10, vừa = 43. Thế mà khi chạy "lúc được lúc không"... tài thật!!!???
            Last edited by Acxen_lupine; 28-02-2013, 12:59. Lý do: viết thêm
            Hôm nay trời nắng chang chang.
            Mèo con đi học chẳng mang thứ gì.
            Chỉ mang một cái bút chì.
            Và mang một mẩu bánh mì con con.

            Comment


            • #7
              Post lên đây em có thiếu dòng đấy. Và thêm dòng đấy vào thì vẫn không được. Bác cứ coi project của em chỉ là đọc tin nhắn thôi chẳng hạn, thì hàm main đọc tin nhắn của em thì cũng như ở trên (thêm dòng lệnh temp=getchar() em viết thiếu)... Chứ cần gì em phải đưa project hay gì lên cho nhiều đâu bác...

              Comment


              • #8
                Nguyên văn bởi nvc_k6 Xem bài viết
                Post lên đây em có thiếu dòng đấy. Và thêm dòng đấy vào thì vẫn không được. Bác cứ coi project của em chỉ là đọc tin nhắn thôi chẳng hạn, thì hàm main đọc tin nhắn của em thì cũng như ở trên (thêm dòng lệnh temp=getchar() em viết thiếu)... Chứ cần gì em phải đưa project hay gì lên cho nhiều đâu bác...
                Thêm vào cũng không được thì bỏ đi cũng không sao hả??? Kết thêm bạn cái "tội chưa nói xong đã cãi xong"...
                Ở đây chúng ta làm lập trình, phải có phần mềm để debug... không thì lập trình bằng "Word" à?
                Có nhiều vấn đề liên quan đến một chương trình chạy hay không chạy:
                - Phần cứng,
                - Tốc độ truyền thông,
                - Module truyền thông loại nào
                - Cài đặt các chế độ cho Module
                - Đặt giải thuật vào chỗ nào trong chương trình...
                ....
                - Bạn đã khẳng định được gì???
                - Lỗi còn lại mà bạn thấy như nào???
                ...
                Quẳng lên 1 đoạn code (chưa kể cái hàm compare(status) là cái gì...) ... Thử hỏi giúp bạn thế nào đây!?
                Mất hơn 1 ngày với 8 bài post mà vấn đề cỏn con này của bạn cũng chưa xong... bạn có thấy lãng phí cho tất cả không???
                ...
                Nếu bạn hỏi mà có người giúp được thì diễn đàn lại có thêm bài viết hay, trọn vẹn - người đi sau có thể học hỏi từ đó (mặc dù cái đó trên diễn đàn không thiếu)...

                p/s: Mạn phép phê bình MOD VNarmy quá dễ tính!!!
                Last edited by Acxen_lupine; 28-02-2013, 16:41.
                Hôm nay trời nắng chang chang.
                Mèo con đi học chẳng mang thứ gì.
                Chỉ mang một cái bút chì.
                Và mang một mẩu bánh mì con con.

                Comment


                • #9
                  Lãng phí thời gian hay không em ko tranh cãi với bác. Em đã nhận là em post lên thiếu 1 dòng code. về tốc độ truyền thông và các thứ khác là ok hết. Vấn đề của em ở đây là lúc đọc được lúc không đọc được. Vì vậy nên em mới nghi ngờ là temp=getchar() ngay sau lệnh yêu cầu đọc. Bởi vì em chỉ hỏi đến cái đọc tin nhắn thôi nên các thứ khác bác có thể bỏ qua cho em. Bác xem code thì cũng biết đến dòng nào là đọc xong tin nhắn rồi. Compare em cũng có chú thích rồi đấy. Nếu như bác muốn em đưa hết lên rồi giải thích các thứ thì chắc vác cả project lên cho bác xem rồi làm luôn hộ em quá...

                  Comment


                  • #10
                    Nguyên văn bởi nvc_k6 Xem bài viết
                    Lãng phí thời gian hay không em ko tranh cãi với bác. Em đã nhận là em post lên thiếu 1 dòng code. về tốc độ truyền thông và các thứ khác là ok hết. Vấn đề của em ở đây là lúc đọc được lúc không đọc được. Vì vậy nên em mới nghi ngờ là temp=getchar() ngay sau lệnh yêu cầu đọc. Bởi vì em chỉ hỏi đến cái đọc tin nhắn thôi nên các thứ khác bác có thể bỏ qua cho em. Bác xem code thì cũng biết đến dòng nào là đọc xong tin nhắn rồi. Compare em cũng có chú thích rồi đấy. Nếu như bác muốn em đưa hết lên rồi giải thích các thứ thì chắc vác cả project lên cho bác xem rồi làm luôn hộ em quá...
                    Bó văn tay!
                    Bạn đã tắt chế độ phản hồi của Module chưa???
                    Last edited by Acxen_lupine; 28-02-2013, 18:28.
                    Hôm nay trời nắng chang chang.
                    Mèo con đi học chẳng mang thứ gì.
                    Chỉ mang một cái bút chì.
                    Và mang một mẩu bánh mì con con.

                    Comment

                    Về tác giả

                    Collapse

                    nvc_k6 Tìm hiểu thêm về nvc_k6

                    Bài viết mới nhất

                    Collapse

                    • mèomướp
                      Trả lời cho Công thức điện tử
                      bởi mèomướp
                      Dạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
                      Hôm qua, 21:21
                    • mèomướp
                      Trả lời cho Xin hỏi về màn hình laptop
                      bởi mèomướp
                      Dạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
                      Hôm qua, 20:31
                    • yname11
                      Trả lời cho Xin hỏi về màn hình laptop
                      bởi yname11
                      Ok , thanks bác đã chỉ...
                      Hôm qua, 15:06
                    • nguyendinhvan
                      Công thức điện tử
                      bởi nguyendinhvan
                      Sau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !

                      Chập thì thay. Cháy thì tháo
                      Làm thì láo. Báo thì hay
                      May thì khoe. Rủi thì bỏ
                      Thành tích nhỏ. Báo thành to
                      Làm cho có. Báo chi li
                      Sai cả li. Báo
                      ...
                      Hôm qua, 00:35
                    • yname11
                      Trả lời cho Xin hỏi về màn hình laptop
                      bởi yname11
                      có chắc ko b, màn lcd phải có cao áp mới sáng, màn led thì ko có, ko có cáp chuyển đổi thì lắp thế nào đc ??...
                      25-11-2024, 22:31
                    • mèomướp
                      Trả lời cho Xin hỏi về màn hình laptop
                      bởi mèomướp
                      Dạ ý chú là màn oled ấy ạ. Cùng chuẩn lvds cùng độ phân giải thì cắm được ạ. Còn nó mà khác thì hơi khó vì oled các điểm ảnh nó tự phát sáng chứ ko dùng đèn nền như lcd. Cháu chỉ biết đến vậy thôi ạ. Chú muốn nghịch phải tự tìm hiểu kỹ trước khi mua thôi, khó mà ông thợ nào tư vấn vụ này...
                      25-11-2024, 22:14
                    • bactho
                      Trả lời cho Tự làm máy đo Cuộn cảm
                      bởi bactho
                      Hay đấy bạn ạ. Đây có thể hiểu là máy đo cuộn dây. Tiện đây xin cho hỏi bạn có hiểu rõ về máy nạp rôm pcb 45 của hãng thiên minh không giúp mình cách cài fw của nó với vì mình vừa được anh bạn cho nhưng lại không biết cài fw nên chưa dùng được. Nếu có thể thì bạn giúp mình với...
                      25-11-2024, 21:48
                    • yname11
                      Trả lời cho Xin hỏi về màn hình laptop
                      bởi yname11
                      màn của mình là LCD , giờ m muốn mua màn LED để thay thế (ko muốn dùng màn LCD nữa) , lên muốn hỏi xem có cáp chuyển đổi nào có thể cắm đc màn LED vào ko , tất nhiên phải có cùng số chân pin với màn cũ rồi . VD: màn cũ là lcd mỏng , 40 pin...
                      25-11-2024, 21:43
                    • bactho
                      Trả lời cho các bạn giúp mình về file HEX với!!!
                      bởi bactho
                      Bạn vào trang phuclanshop.com ,tìm đến góc kỹ thuật. Tác giả vương khánh hưng nói rất rõ về điều bạn tìm...
                      25-11-2024, 21:21
                    • mèomướp
                      Trả lời cho Xin hỏi về màn hình laptop
                      bởi mèomướp
                      Dạ màn hình lcd đều có thể lai cấy cho nhau được hết ạ. Các loại cáp, bo mạch chuyển đổi lvds rất nhìu, với dòng sony còn phải nhổ cả chip nhớ của main cũ đưa lên gỗ thì mới lắp sang máy khác đc, chưa kể các bệnh về màu... ngay cả...
                      25-11-2024, 20:43
                    Đang tải...
                    X