請幫我準備一個項目,需要PIC16F877A和GSM sim900之間的串行通信,以便我可以發送和接收來自遠程的短信這裏是發送短信的代碼和平寫在MPLAB XC8`GSM和PIC16F877A之間的seial通信
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分線端口與筆記本電腦的超級終端良好地通信。