使用的软件
STM32CubeMX Version 5.4.0
Keil μVision V5.28.0.0
RCC配置
时钟源根据自己的板子来选择,时钟频率设置为最大值就可以了
USART配置
在Baud Rate里设置自己的波特率,在NVIC Setings里面打开串口中断
代码
main
/* USER CODE BEGIN 0 */
uint8_t rxdata=0;
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
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_USART1_UART_Init();
/* USER CODE BEGIN 2 */
HAL_UART_Receive_IT(&huart1,&rxdata,1);
HAL_UART_Transmit(&huart1,(uint8_t*)"USART OK!\n",10,0xffff);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
接收部分
需要自己写
/* USER CODE BEGIN 4 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart==&huart1)
{
HAL_UART_Transmit(huart,&rxdata,huart->RxXferSize,0xffff);
}
HAL_UART_Receive_IT(huart,&rxdata,1);
}
/* USER CODE END 4 */