串口USART配置笔记

用途:TX Rx发送、接收——1串口助手通信 2WiFi模块 3语音控制

参考文章:

串口USART-CSDN博客

串口例程-CSDN博客

库函数方式配置:(注意连接时是反接Tx和Rx)

GPIO配置

RCC管脚时钟AHB1—GPIOx—ENABLE

.模式复用 推挽输出 无上下拉...(F4)

GPIO复用配置(管脚组x,复用管脚号x(不能或|),复用功能选取)

USART复用配置

RCC管脚时钟APB2—USARTx—ENABLE

.波特率(由参数值确定bau)

.硬件流控制——disable

.串口模式——Tx|Rx(收发双功能开启)

.奇偶校验——无

.停止位——一个
.字长——8b

初始化(&结构体)

串口使能开关and串口中断使能2个

Nvic结构体.通道线号——USARTx_IRQn

.通道使能——ENABLE

.通道抢占优先级——(根据主函数的唯一配置分组)

.通道响应优先级——两个都是谁数字小谁优先

初始化(&结构体)

46行——根据库函数编写单字符串口发送函数(u8 data)

While(查看发送完成标志位==0(1发完跳出,发下一个)){;}

单字符发送函数(串口x,date);

53行——根据单字符编写字符串(u8 *str)

While(*str)

{单字符串口发送函数(*str++);}

看核心文件startup_stm32xxx_xxx.s 选择和编写 已确定的双void串口接收中断函数

规则:{1.清中断标志2.不破坏栈(特别是延时函数)}

判断接收中断——用中断状态函数查IT_RXNE(状态为1则正在接收)

Buff数组[长度量++]=串口接收函数(串口号);

判断空闲中断——用中断状态函数查IT_IDLE(状态为1则接收结束)

{接收标志位=1;——(外部声明用于主函数判断)

Buff数组[长度量]=0;(字符串结束符/0)

长度量=0;

串口接收函数(串口号);——(清标志)}

常用函数

USART_SendData(USARTx,Data);——串口发送函数

USART_ReceiveData(USARTx);——串口接收函数

USART_GetFlagStatus(USARTx, USART_FLAGx);——查看串口标志状态函数(TC发送检查,1发完)

USART_GetITStatus(USARTx, USART_ITx);——查看串口中断状态函数(RXNE为1则正在接收,

IDLE为1则接收结束)

Int fputs函数——stdio.h函数库

用途:输出重定向,用于在串口助手界面上打印出printf的字符—重定义-CSDN博客

重定向

重写库函数,对原函数进行覆盖,编译时优先调用重定向的用户函数——重定向fputc函数实现printf串口发送-CSDN博客

参考学习,望有助 

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在STM32CubeIDE中配置USART串口需要进行以下步骤: 1. 打开STM32CubeIDE,并创建一个新的工程。 2. 在工程导航器中,右键单击"Core"文件夹,选择"Add Component",然后选择"USART"组件。这将在工程中添加USART相关的文件和代码。 3. 在"Pinout & Configuration"选项卡中,选择你要使用的USART引脚。 4. 在"Configuration"选项卡中,配置USART的参数,包括波特率、数据位数、停止位等等。可以根据具体需求进行配置。 5. 在代码中,使用HAL库函数来初始化和配置USART,例如使用`HAL_UART_Init()`函数来初始化USART,使用`HAL_UART_MspInit()`函数来配置USART引脚等等。 6. 在代码中,根据需求来实现USART的发送和接收功能。可以使用轮询方式或中断方式来发送和接收数据。如果使用中断方式,需要编写相应的中断回调函数,例如使用`HAL_UART_RxCpltCallback()`函数来处理接收完成中断。 在以上步骤中,引用提供了一些关键词,如"STM32F407VE"、"FreeRTOS"、"DMA"等,可以参考这些关键词在STM32CubeIDE中进行配置。同时,引用和引用提供了一些代码示例,可以参考这些示例来实现USART配置和功能。 请注意,具体的配置和代码实现可能会因具体的硬件平台和需求而有所不同。建议查阅官方的文档和资料来获取更详细和准确的配置步骤。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [STM32F407VE+FreeRTOS+STM32CubeIDE+串口DMA+Freemodbus移植代码](https://download.csdn.net/download/qq_31272725/83163651)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [STM32CubeIDE学习笔记——USART(三种收发方式,printf重定向,工程配置)](https://blog.csdn.net/Reasally/article/details/126751127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值