Thông báo

Collapse
No announcement yet.

[HELP] Pic 16F877A + Module SIM900A

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

  • [HELP] Pic 16F877A + Module SIM900A

    Chào mọi người!

    Hiện tại Mình đang gặp 1 lỗi giao tiếp giữa Module Sim900A và Pic16F877A.
    Dữ liệu từ PIC gửi lên SIM900A thì được thực hiện( như Gọi Điện hoặc nhắn tin),
    nhưng dữ liệu mà muốn lấy từ SIM900A về PIC thì lại không lấy được. Ở đây SIM900A trả về các ký tự trả về không như ý muốn(Toàn ký tự loằn nhằng.), nếu nắp thêm trở vào chân RX của PIC thì mỗi lần kết quả lại ra khác nhau.

    Cảm ơn Mọi người!
    Code:
    #include<16f877a.h>
    #device *=8 adc=10
    #FUSES NOWDT, HS , NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
    #use delay(clock=20000000)
    #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7,stream=GSM)
    #include <lcd.c>
    #int_RDA
    void ngat_rda()
    {
    char ch=fgetc(GSM);
    if((ch!=13) || (ch!=10))// neu ch khac ky tu CR va LF
    {
    lcd_putc(ch);
    }
    }
    void main()
    {
    lcd_init();
    lcd_gotoxy(1,1);
    enable_interrupts(INT_RDA);
    enable_interrupts(GLOBAL);
    fprintf(GSM,"AT");// Kiem tra ket noi giua MCU va SIM900
    putc(13);// ky tu CR( Carriage return)
    delay_ms(500);
    fprintf(GSM,"ATD+841659084698;");// Thuc hien Cuoc goi Toi sdt 01659084698
    putc(13);
    delay_ms(500);
    while(true)
    {
    }
    }

  • #2
    Coi lại mức áp giữa 2 thằng

    Chúc vui
    Falleaf
    Công ty TNHH Thương mại và Giao nhận R&P
    58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
    mail@falleaf.net - VP: (04) 36408561 - (08) 38119870

    Comment


    • #3
      Anh ơi! nghĩa là sao ạ, em mới nhập môn. Hi Module sim thì em mua bên vntech24h, anh ấy bảo có cầu phân áp rồi, có thể làm việc với MCU 3,3V hoặc 5,0V
      Thank anh nhiều!
      Last edited by khangcntt.kt; 11-12-2013, 03:16.

      Comment


      • #4
        Module SIM đó đang hoạt động ở điện áp 4.x V, có cầu phân áp lựa chọn giao tiếp với MCU hoạt động tại 3v3 hoặc 5v ( đã test cho rất nhiều mạch vì bán được ít nhất 30-40 cái rồi ). Hôm đó mình đã test cho bạn tại nhà mình rồi, có thể là do bạn làm mạch và code thế nào thôi, bạn phải đọc kĩ lệnh AT và sử lý ngắt UART cẩn thận, tốc độ baud nữa...
        Cắm USB2COM giao tiếp với PIC trước xem PIC gửi lệnh đúng chưa, sau đó lại cắm vào Module SIM để tìm được sai tại đâu.
        À đã nhập đủ lk cơ bản rồi, khi nào bạn bè mua nhớ giới thiệu nhé, bán rẻ hết cỡ nếu các bạn sv nhiệt tình , tuy nhiên ko hỗ trợ code làm đồ án đâu nhé, giúp được tới đâu thì mình giúp thôi.
        Cảm ơn đã ủng hộ
        Web:
        ->Nhận thiết kế, hoàn thiện dự án, sản phẩm điện tử<-
        -->Giải pháp GSM/GPRS/GPS - Công nghệ RFID<--

        Comment


        • #5
          Vâng anh! Tiện thể em hỏi luôn cầu phân áp thì cắm theo chiều ngang hay dọc anh nhỉ?
          Hi.

          Comment


          • #6
            Nguyên văn bởi khangcntt.kt Xem bài viết
            Chào mọi người!

            Hiện tại Mình đang gặp 1 lỗi giao tiếp giữa Module Sim900A và Pic16F877A.
            Dữ liệu từ PIC gửi lên SIM900A thì được thực hiện( như Gọi Điện hoặc nhắn tin),
            nhưng dữ liệu mà muốn lấy từ SIM900A về PIC thì lại không lấy được. Ở đây SIM900A trả về các ký tự trả về không như ý muốn(Toàn ký tự loằn nhằng.), nếu nắp thêm trở vào chân RX của PIC thì mỗi lần kết quả lại ra khác nhau.

            Cảm ơn Mọi người!
            Code:
            #include<16f877a.h>
            #device *=8 adc=10
            #FUSES NOWDT, HS , NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
            #use delay(clock=20000000)
            #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7,stream=GSM)
            #include <lcd.c>
            #int_RDA
            void ngat_rda()
            {
            char ch=fgetc(GSM);
            if((ch!=13) || (ch!=10))// neu ch khac ky tu CR va LF
            {
            lcd_putc(ch);
            }
            }
            void main()
            {
            lcd_init();
            lcd_gotoxy(1,1);
            enable_interrupts(INT_RDA);
            enable_interrupts(GLOBAL);
            fprintf(GSM,"AT");// Kiem tra ket noi giua MCU va SIM900
            putc(13);// ky tu CR( Carriage return)
            delay_ms(500);
            fprintf(GSM,"ATD+841659084698;");// Thuc hien Cuoc goi Toi sdt 01659084698
            putc(13);
            delay_ms(500);
            while(true)
            {
            }
            }
            Có lẻ sai mức điện áp 2 chân thôi. bạn nên chọn thạch anh 20MHZ
            TX-PIC ----->RX-SIM (Phân áp 2k2,3k3 nối mass)
            RX-PIC------>TX-SIM (1k keo nguon 5V) la ok

            Comment


            • #7
              các bác cho em hỏi. module sim900a có chức năng GPS không.
              em xin cảm ơn

              Comment


              • #8
                hè. em cũng đang mắc cái này. pic vẫn chưa đọc được kết quả từ sim900a trả về. em dùng terminal và proteus mô phỏng lệnh để test thì được rồi.

                Comment


                • #9
                  sim900 và 900a không có GPS đâu bạn. sim908 mới có bạn à

                  Comment

                  Về tác giả

                  Collapse

                  khangcntt.kt Tìm hiểu thêm về khangcntt.kt

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

                  Collapse

                  Đang tải...
                  X