2026/2/15 23:12:56
网站建设
项目流程
事业单位网站建设工作方案,西城h5网站建设,wordpress怎么在上面建几个分类,北京做网站一#xff1a;通用同步/异步收发器(USART) 这些设备嵌入四个通用同步/异步接收器/发送器#xff0c;其通信速度高达6 Mbit/s。 它们提供CTS、RTS和RS485 DE信号的硬件管理、多处理器通信模式、同步SPI通信和单线半双工通信。 双工通信模式。有些还支持智能卡通信(ISO7816)、I…一通用同步/异步收发器(USART)这些设备嵌入四个通用同步/异步接收器/发送器其通信速度高达6 Mbit/s。它们提供CTS、RTS和RS485 DE信号的硬件管理、多处理器通信模式、同步SPI通信和单线半双工通信。双工通信模式。有些还支持智能卡通信(ISO7816)、IrDASIR ENDEC、LIN主从能力和自动波特率功能并具有独立于CPU时钟的时钟域允许它们从停止模式唤醒MCU。从停止模式唤醒的事件是可编程的可以:起始位检测任何接收到的数据框架特定的程序化数据帧所有 USART接口都可以由 DMA控制器提供服务。USART 接口发送与接收波特率可配置也支持通过 DMA 进行连续通信。 USART 还支持多处理器通信、LIN 模式、同步模式、单线半双工通信、智能卡异步协议、 IrDA SIR ENDEC 功能、以及硬件流控制功能。1.2 串口特性支持全双工通信支持单线半双工通信波特率可配置最高波特率可达 4Mbit/s支持 8bit 或 9bit 数据帧支持 1bit 或 2bit 停止位支持硬件生成校验位及校验位检查支持硬件流控: RTS、 CTS支持 DMA 收发支持多处理器通信如果地址不匹配则进入静默模式, 可通过空闲总线检测或地址标识唤醒支持同步模式允许用户在主模式下控制双向同步串行通信支持智能卡异步协议符合 ISO7816-3 标准串行红外协议IrDA SIR编码与解码提供正常与低功耗两种运行模式支持 LIN 模式支持多钟错误检测数据溢出错误、帧错误、噪声错误、检验错误支持多个中断请求发送数据寄存器为空、 CTS 标志、发送完成、数据已接收、数据溢出、总线空闲、检验错误、 LIN 模式断开帧检测、以及多缓冲区通信中的噪声标志/溢出错误/帧错误二原理图分享为了快速的调试串口的输出功能这里我们使用板载的串口2如图所示板载设计的PA2PA3引脚与调试的串口相连接所以我们就在stm32cube MX 中配置一下这两个引脚对应的串口就好了三STM32 cube MX 软件的配置过程如下图所示这里PA2PA3引脚可以设置为串口2这里我们对串口2的参数进行配置一下图示中的红色区域需要用户进行自行配置。配置好串口的基本参数后需要手动使能串口2中断、同时配置中断的优先级别这里设置的比之前的外部按键的中断优先级别高一些。四软件编写4.1 编写串口的基本流程首先串口时钟使能GPIO时钟使能: __HAL_RCC_USART2_CLK_ENABLE();GPIO端口模式设置: __HAL_RCC_GPIOA_CLK_ENABLE();串口参数初始化static void MX_USART2_UART_Init(void)开启中断并且初始化 HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);使能串口: HAL_NVIC_EnableIRQ(USART2_IRQn);编写串口发送函数重映射PRINTF 函数进行数据的发送。4.2 程序编写如下在编写程序之前添加几个头文件、定义输出数据、重映射printf输出函数复制/* USER CODE BEGIN Includes */#include stdio.h#include string.h#include stdint.hconst uint8_t OUTPUT_str[] Hello STM32C092RC! Hello 21 IC 论坛! autor by 聪聪哥哥 \r\n;/* USER CODE END Includes *//* Private typedef -----------------------------------------------------------*//* USER CODE BEGIN PTD */int fputc(int ch, FILE *f){HAL_UART_Transmit(huart2, (uint8_t *)ch, 1, 0xFFFF);return ch;}/* USER CODE END PTD */4.3 配置一下keil 参数这里需要打开使用miclib的选型否则会导致i程序运行不正常。4.4 编写主程序函数复制while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */// HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);// HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);// HAL_Delay(1000);HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);/* Insert delay 500ms */HAL_Delay(500);HAL_UART_Transmit(huart2,OUTPUT_str,sizeof(OUTPUT_str),100);HAL_Delay(500);printf( printf 函数调试完成\r\n);}五下载验证程序代码如下03_usart_printf.zip(5.8 MB, 下载次数: 1):---------------------作者聪聪哥哥链接https://bbs.21ic.com/icview-3453962-1-1.html来源21ic.com此文章已获得原创/原创奖标签著作权归21ic所有任何人未经允许禁止转载。