04 hal cube 串口配置经供参考

1. cube 串口配置

04 hal cube 串口配置经供参考_第1张图片

2.中断配置

04 hal cube 串口配置经供参考_第2张图片

3.重定向 printf

/* USER CODE BEGIN 1 */

#pragma import(__use_no_semihosting)             
标准库需要的支持函数                 
struct __FILE 
{ 
	int handle; 

}; 

  FILE __stdout;       
//定义_sys_exit()以避免使用半主机模式    
void _sys_exit(int x) 
{ 
	x = x; 
} 
//重定义fputc函数 
 
int fputc(int ch,FILE *f)
{
   HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,0xFFFF);//hurat1为串口号,根据自己情况进行选择
   return ch;
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
  if (huart->Instance == USART1) // ???????????? USART1
  {
 
	 Uart1_RX.rxd[Uart1_RX.count++] =uart_buf[0];
   
  }
} 
/*/
void USART1_IRQHandler(void)
{
  /* USER CODE BEGIN USART1_IRQn 0 */

  /* USER CODE END USART1_IRQn 0 */
  HAL_UART_IRQHandler(&huart);
	HAL_UART_Receive_IT(&huart1,  (uint8_t*)uart_buf, 1);
  /* USER CODE BEGIN USART1_IRQn 1 */
testdemo
  /* USER CODE END USART1_IRQn 1 */
}
	  if(Uart1_RX.count )  //Uart1_RX.count
	  {
	   HAL_UART_Transmit_IT(&huart1, (uint8_t*)Uart1_RX.rxd, strlen((uint8_t*)Uart1_RX.rxd)); 
		  Uart1_RX.count=0;
//		  memset
	  }

你可能感兴趣的:(STM32,C语言,ARM,stm32,c++,单片机)