STM32H750XBH6的HAL库设置串口1的发送

CubeMX的配置(先讲阻塞,后讲中断)

阻塞

首先是CubeMX中配置RCC

配置时钟

配置串口1

点击PA9,PA10分别配置为USART1tx和USARt1rx

一般都是这样配置。波特率是115200;数据位是8位;没有奇偶校验位;一个停止位。这里的配置默认就好。

函数部分

/*利用这个函数可以使用C语言的printf函数。记得添加头文件#include <stdio.h>,#include <string.h>
记得打开Use MicroLIB(在魔法棒的Target里面有,把前面的勾勾打上就好了)*/
int fputc(int ch, FILE *f) 
{
  /* Your implementation of fputc(). */
    unsigned char temp[1] = {ch};
    HAL_UART_Transmit(&huart1, temp, 1, 0xffff);
  return ch;
}
/*在while里面的串口接收和发送的部分*/
 unsigned char ch[20] = {0};//串口接收数组
  while (1)
{
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
    HAL_UART_Receive(&huart1, ch, 19, 100);//串口接收函数
    //HAL_UART_Transmit(&huart1, ch, strlen(ch), 100);//串口发送函数
    printf(ch);
    memset(ch, 0, strlen(ch));//清空数组中的数据
}

中断

前面的操作都一样,唯一不一样的是要打开中断,如下图所示

大概得流程是这样的

收到中断

-->中断处理函数USART1_IRQHandler

-->HAL_UART_IRQHandler

-->接收中断处理UART_Receive_IT

-->接收完成回调函数HAL_UART_RxCpltCallback

有点难,不怎么会

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值