i m sending energy data to website using sim800l with keil ide.. the problem is i m able connect with internet but i m not be able send any data till now.. i have attached keil code please give me suggetion where i m doing wrong...
/* Includes ------------------------------------------------------------------*/ #include "main.h" #include "stm32f1xx_hal.h" #include "string.h" /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Private variables ---------------------------------------------------------*/ ADC_HandleTypeDef hadc1; UART_HandleTypeDef huart1; UART_HandleTypeDef huart3; DMA_HandleTypeDef hdma_usart1_rx; DMA_HandleTypeDef hdma_usart1_tx; DMA_HandleTypeDef hdma_usart3_rx; DMA_HandleTypeDef hdma_usart3_tx; /* USER CODE BEGIN PV */ /* Private variables ---------------------------------------------------------*/ /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_DMA_Init(void); static void MX_ADC1_Init(void); static void MX_USART1_UART_Init(void); static void MX_USART3_UART_Init(void); /* USER CODE BEGIN PFP */ /* Private function prototypes -----------------------------------------------*/ /* USER CODE END PFP */ /* USER CODE BEGIN 0 */ /* USER CODE END 0 */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_ADC1_Init(); MX_USART1_UART_Init(); MX_USART3_UART_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ //*************************************AT commands to connect internet********************************************* while(1){ char getstr[200]="id="; uint8_t myPrintData_0[10]="Start\r\n"; uint8_t myPrintData_1[20]="Sending Data...\r\n"; uint8_t myclockData_1[15]="AT+CCLK?\r\n"; uint8_t myTxData_0[50]="AT\r\n"; uint8_t myTxData_1[50]="AT+SAPBR=3,1,\"Contype\",\"GPRS\"\r\n"; uint8_t myTxData_2[50]="AT+SAPBR=3,1,\"APN\",\"\"\r\n"; uint8_t myPrintData_2[30]="Connecting to internet..."; uint8_t myTxData_4[50]="AT+SAPBR=1,1\r\n"; uint8_t myPrintData_3[40]="Internet Connection Established"; uint8_t myTxData_5[50]="AT+HTTPINIT\r\n"; uint8_t myTxData_11[200]="AT+HTTPPARA=\"URL\",\"http://credencerobotics.000webhostapp.com/value.php?id=SP0007&v=823.00&i=209.00&kw=440.00&kwh=65.00&kva=92.00&kvar=242.00&pf=87.00&f=203.00"; uint8_t data_1[50]="\""; uint8_t myTxData_8[20]="AT+HTTPACTION=0"; uint8_t myTxData_9[20]="AT+HTTPREAD"; uint8_t myTxData_10[20]="AT+HTTPTERM"; HAL_UART_Transmit(&huart3,myclockData_1,20,10); //print clock data HAL_Delay(1000); HAL_UART_Transmit(&huart1, myPrintData_0,10,10); //print start HAL_Delay(1000); HAL_UART_Transmit(&huart3,myTxData_0,50,20); HAL_Delay(2000); HAL_UART_Transmit(&huart3,myTxData_1,50,20); HAL_Delay(2000); HAL_UART_Transmit(&huart3, myTxData_2,50,20); HAL_Delay(2000); HAL_UART_Transmit(&huart1, myPrintData_2,30,20); HAL_Delay(2000); HAL_UART_Transmit(&huart3, myTxData_4,50,20); HAL_Delay(2000); HAL_UART_Transmit(&huart3, myPrintData_3,40,30); HAL_Delay(3000); HAL_UART_Transmit(&huart3, myTxData_5,50,30); HAL_Delay(3000); HAL_UART_Transmit(&huart3, myTxData_11,200,10); HAL_Delay(5000); HAL_UART_Transmit(&huart3, data_1,5,10); HAL_Delay(5000); HAL_UART_Transmit(&huart3, myTxData_8,20,10); HAL_Delay(5000); HAL_UART_Transmit(&huart3, myTxData_9,20,10); HAL_Delay(5000); HAL_UART_Transmit(&huart3, myTxData_10,20,10); HAL_Delay(5000); } /* USER CODE END 3 */ } /** System Clock Configuration */ void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_PeriphCLKInitTypeDef PeriphClkInit; /**Initializes the CPU, AHB and APB busses clocks */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } /**Initializes the CPU, AHB and APB busses clocks */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } /**Configure the Systick interrupt time */ HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); /**Configure the Systick */ HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); } /* ADC1 init function */ static void MX_ADC1_Init(void) { ADC_ChannelConfTypeDef sConfig; /**Common config */ hadc1.Instance = ADC1; hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE; hadc1.Init.ContinuousConvMode = DISABLE; hadc1.Init.DiscontinuousConvMode = DISABLE; hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; hadc1.Init.NbrOfConversion = 1; if (HAL_ADC_Init(&hadc1) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } /**Configure Regular Channel */ sConfig.Channel = ADC_CHANNEL_1; sConfig.Rank = 1; sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5; if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } } /* USART1 init function */ static void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 115200; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } } /* USART3 init function */ static void MX_USART3_UART_Init(void) { huart3.Instance = USART3; huart3.Init.BaudRate = 115200; huart3.Init.WordLength = UART_WORDLENGTH_8B; huart3.Init.StopBits = UART_STOPBITS_1; huart3.Init.Parity = UART_PARITY_NONE; huart3.Init.Mode = UART_MODE_TX_RX; huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart3.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart3) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } }