Последовательная связь между GSM и PIC16F877A

Пожалуйста, помогите, я пытаюсь подготовить проект, который требует последовательной связи между 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, который используется для завершения SMS-сообщения, но проблема в том, что микросхема PIC не может связаться с GSM, из-за различных уровней напряжения, которые я пытался использовать MAX232, я Первоначально сделал интерфейс через MAX232, как показано ниже, интерфейс GSM с PIC16F877A через MAX232, но ничего не отправлено, я попытался поменять местами последовательные контакты без max232, но ничего не отправлено. затем я попытался сменить GSM SIM900 на GSM SIM900A min, который имеет три варианта портов: RS232, 3V Tx и Rx, 5V Tx и Rx, поскольку PIC16F877a имеет логическое напряжение 5В, поэтому я использовал порт 5В, но по-прежнему ничего не отправлял. но и GSM, и PIC нормально взаимодействуют с гипертерминалом ноутбука через 5-вольтовый порт FTDI.

1 ответ

Решение

Я боюсь, что вы должны сначала ограничить свою проблему: аппаратное или программное обеспечение. У вас есть схема ваших соединений?

С другой стороны, в вашем коде вы используете эту функцию:

UART_Write_Text("AT+CMGF=1");

Разве вы не должны заканчивать эту строку с помощью \ r \ n или \ n \ r, или UART_Write_Text сделает это за вас?

Другие вопросы по тегам