请帮助我正在尝试准备一个需要在 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制作的接口如下图,通过MAX232与PIC16F877A的GSM接口但没有发送,我尝试在没有max232的情况下交换串行引脚仍然没有发送。然后我尝试用 GSM SIM900A min 更改 GSM SIM900,它具有三个端口选项,RS232、3V Tx 和 Rx、5V Tx 和 Rx,因为 PIC16F877a 它的逻辑电压是 5v,所以我使用了 5V 端口但仍然没有发送。但 GSM 和 PIC 都通过 5v FTDI 分支端口与笔记本电脑的超级终端进行良好通信。