Вс июл 17, 2022 12:29:06
char end_sms_cmd[] = {'\r','\n',26,'\0'};
printf("SMS with GSM Module\r\n");
printf("Checking Module...\r\n");
uint8_t flag=1;
while(flag==1){
uint8_t RxData[64] = {0};
printf("AT\r\n");
strcpy((char *)TxData, "AT\r\n");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
osDelay(1000);
printf(RxData);
printf("\r\n");
if(strstr((char *)RxData,"OK")){
printf("Module Connected\r");
flag=0;
}
else{printf("Module Unconnected\r");}
osDelay(1000);
}
strcpy((char *)TxData, "ATI\r");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
osDelay(1000);
printf("ATI is \r\n");
printf(RxData);
printf("\r\n");
osDelay(1000);
strcpy((char *)TxData, "AT+CSQ\r");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
osDelay(1000);
printf("CSQ is \r\n");
printf(RxData);
printf("\r\n");
osDelay(1000);
strcpy((char *)TxData, "AT+CCID\r");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
osDelay(1000);
printf("Phone number is is \r\n");
printf(RxData);
printf("\r\n");
osDelay(1000);
strcpy((char *)TxData, "AT+CREG?\r");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
osDelay(1000);
printf("CREG is \r\n");
printf(RxData);
printf("\r\n");
osDelay(1000);
strcpy((char *)TxData, "AT+COPS?\r");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
osDelay(1000);
printf("COPS is \r\n");
printf(RxData);
printf("\r\n");
osDelay(1000);
strcpy((char *)TxData, "AT+CMGF=1\r");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
osDelay(1000);
printf("AT+CMGF is \r\n");
printf(RxData);
printf("\r\n");
osDelay(1000);
strcpy((char *)TxData, "AT+CMGS=\"+79999999999\"\r");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
strcpy((char *)TxData, "SMS from SIM800");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
strcpy((char *)TxData, end_sms_cmd);
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),1000);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
printf("SMS is sent\r\n");
printf(RxData);
printf("\r\n");
Вс июл 17, 2022 21:23:51
Пн июл 18, 2022 11:56:20
strcpy((char *)TxData, "AT+CMGF=1\r");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),100);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 3000);
printf("AT+CMGF is \r\n");
printf(RxData);
printf("\r\n");
osDelay(10000);
flag=1;
while(flag==1){
uint8_t RxData[64] = {0};
osDelay(2000);
strcpy((char *)TxData, "AT+CMGS=\"+799999999\"\r");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),100);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 5000);
printf("Poluchen simvol \r\n");
printf(RxData);
printf("\r\n");
if(strstr((char *)RxData,">")){
printf("Phone number valid\r");
flag=0;
}
else{printf("Phone number invalid\r");}
osDelay(1000);
}
strcpy((char *)TxData, "SMS from SIM800");
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),100);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 1000);
osDelay(10000);
strcpy((char *)TxData, end_sms_cmd);
HAL_UART_Transmit(&huart1,(uint8_t *)TxData,strlen(TxData),100);
HAL_UART_Receive(&huart1, RxData, sizeof(RxData), 5000);
printf("SMS is sent\r\n");
printf(RxData);
printf("\r\n");