朔州企业网站建设,营销型网站建设市场分析,做开发房地产网站可行吗,c2c平台分类寻求更简洁舒适的阅读体验#xff0c;请移步Mculover666的个人博客#xff1a;【STM32Cube_06】使用USART发送和接收数据#xff08;查询模式#xff09;www.mculover666.cn本篇文章主要介绍如何使用STM32CubeMX初始化STM32L431RCT6的USART#xff0c;并使用查询模式发送…寻求更简洁舒适的阅读体验请移步Mculover666的个人博客【STM32Cube_06】使用USART发送和接收数据查询模式www.mculover666.cn本篇文章主要介绍如何使用STM32CubeMX初始化STM32L431RCT6的USART并使用查询模式发送数据使用查询模式接收数据。 1. 准备工作硬件准备开发板 首先需要准备一个开发板这里我准备的是STM32L4的开发板BearPi软件准备需要安装好Keil - MDK及芯片对应的包以便编译和下载生成的代码准备一个串口调试助手这里我使用的是Serial Port UtilityKeil MDK和串口助手Serial Port Utility 的安装包都可以在文末关注公众号获取回复关键字获取相应的安装包2.生成MDK工程选择芯片型号打开STM32CubeMX打开MCU选择器搜索并选中芯片STM32L431RCT6:配置时钟源如果选择使用外部高速时钟HSE则需要在System Core中配置RCC如果使用默认内部时钟HSI这一步可以略过这里我都使用外部时钟配置串口小熊派开发板板载ST-Link并且虚拟了一个串口原理图如下这里我将开关拨到AT-MCU模式使PC的串口与USART1之间连接。接下来开始配置USART1配置时钟树STM32L4的最高主频到80M所以配置PLL最后使HCLK 80Mhz即可生成工程设置代码生成设置最后设置生成独立的初始化文件生成代码点击GENERATE CODE即可生成MDK-V5工程3. 在MDK中编写、编译、下载用户代码编写查询模式发送和接收代码编写 main 函数如下int main(void)
{/* USER CODE BEGIN 1 */char str[12] Hello Worldn;char recv_buf[12] {0};/* USER CODE END 1 */HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */HAL_UART_Transmit(huart1, (uint8_t*)str, 12, 0xFFFF);/* USER CODE END 2 */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 *///接收12个字节的数据不超时if(HAL_OK HAL_UART_Receive(huart1, (uint8_t*)recv_buf, 12, 0xFFFF)){//将接收到的数据发送HAL_UART_Transmit(huart1, (uint8_t*)recv_buf, 12, 0xFFFF);}}/* USER CODE END 3 */
}编译代码编译整个工程设置下载器实验现象下载运行后实验现象如下至此我们已经学会了如何配置USART使用查询模式发送和接收数据下一节将讲述如何配置USART使用中断模式接收数据。更多精彩文章及资源请关注我的微信公众号『mculover666』。