【问题标题】:seial communication between GSM and PIC16F877AGSM 和 PIC16F877A 之间的串行通信
【发布时间】:2017-06-10 05:11:41
【问题描述】:

请帮助我正在尝试准备一个需要在 PIC16F877A 和 GSM sim900 之间进行串行通信的项目,以便我可以从远程发送和接收短信这里是用 MPLAB XC8 编写的发送短信的代码的和平`

           UART_Write_Text("AT+CMGF=1");
         __delay_ms(500);
          UART_Write_Text("AT+CMGS=\"+25XXXXXXXXX\"\n\r");
          __delay_ms(500);
          UART_Write_Text("Fuse number 1 had blown up");
          __delay_ms(500);
          UART_Write(26);
        __delay_ms(6000);
         UART_Write_Text("AT+CMGF=1");
         __delay_ms(500);
          UART_Write_Text("AT+CMGS=\"+255XXXXXXX\"\n\r");
          __delay_ms(500);
          UART_Write_Text("Fuse number 2 had blown up");
          __delay_ms(600);
          UART_Write(0x1A);
        __delay_ms(6000);
         UART_Write_Text("ATD+25XXXXXXX;");
         __delay_ms(6000);`

你可以看到我试图检查问题是否是用于终止短信的 ASCII 字符 26,但问题是 PIC 芯片无法与 GSM 通信,因为我尝试使用不同的电压电平MAX232,我最初通过MAX232制作接口如下图,GSM interface with PIC16F877A through MAX232但没有发送,我尝试在没有max232的情况下交换串口仍然没有发送。然后我尝试用 GSM SIM900A min 更改 GSM SIM900,它具有三个端口选项,RS232、3V Tx 和 Rx、5V Tx 和 Rx,因为 PIC16F877a 它的逻辑电压是 5v,所以我使用了 5V 端口但仍然没有发送。但 GSM 和 PIC 都通过 5v FTDI 分支端口与笔记本电脑的超级终端进行良好通信。

【问题讨论】:

    标签: serial-port gsm uart microchip sim900


    【解决方案1】:

    恐怕您必须首先限制您的问题:硬件或软件。你有你的连接模式吗?

    另一方面,在你的代码中你使用这个函数:

    UART_Write_Text("AT+CMGF=1");
    

    您不应该用 \r\n\n\rUART_Write_Text 来完成该行吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多