BT4502 transmit from UART to BLE app

Hi @salman, here is my code

void U_TxC(char c){
	huart2.Instance->TDR = (char)c;
	while(!__HAL_UART_GET_FLAG(&huart2, UART_FLAG_TC));
}

void U_TxS(const char *s, uint8_t null){
	HAL_GPIO_WritePin(BL_WKP_GPIO_Port, BL_WKP_Pin, 0);
	HAL_Delay(2);

	while(*s){
		U_TxC(*s);
		s++;
	}

	if(null) U_TxC('\0');

	HAL_GPIO_WritePin(BL_WKP_GPIO_Port, BL_WKP_Pin, 1);
}

void U_TxSL(const char *s, uint8_t l){
	while(l--){
		U_TxC(*s);
		s++;
	}
}

#define BL_BUFLEN	256
volatile char ubuf[BL_BUFLEN] = {0};
volatile uint8_t newbldata = 0;
volatile uint16_t cc = 0;

void UART_Handler(void){
	char c;
	if(__HAL_UART_GET_FLAG(&huart2, UART_FLAG_RXNE)){
		c = (char)huart2.Instance->RDR;
		if(cc<BL_BUFLEN){
			ubuf[cc++] = c;
		}
		if(c=='\0'){
			newbldata = 1;
			cc = 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_ADC_Init();
	MX_TIM21_Init();
	MX_USART2_UART_Init();
	/* USER CODE BEGIN 2 */

	//Wakeup bluetooth module
	HAL_GPIO_WritePin(BL_PDN_GPIO_Port, BL_PDN_Pin, 1);
	HAL_Delay(1);
	HAL_GPIO_WritePin(BL_PDN_GPIO_Port, BL_PDN_Pin, 0);
	HAL_Delay(1);

	__HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);
	__HAL_UART_ENABLE(&huart2);

	newbldata = 0;

	U_TxS("TTM:NAM-?\r\n", 1);
	while(!newbldata);
	newbldata = 0; //Breakpoint to check for received name
	uint8_t isconnect = 0, n=0;
	/* USER CODE END 2 */



	/* Infinite loop */
	/* USER CODE BEGIN WHILE */
	while (1)
	{
		if(newbldata){
			if(strstr(ubuf, "TTM:CONNECT") != NULL){
				isconnect = 1; //Successfully connected
			}
			else if(strstr(ubuf, "TTM:DISCONNECT") != NULL){
				isconnect = 0; //Successfully disconnected
			}
			else{
				n++;
			}
			newbldata = 0;
		}

		//When connected, send string every second
		if(isconnect){
			HAL_Delay(1000);
			U_TxS("hi\r\n",1);
		}
		/* USER CODE END WHILE */

		/* USER CODE BEGIN 3 */
	}
	/* USER CODE END 3 */
}