STM32G431之串口

news/2024/9/22 22:26:55/

STM32G431之串口

1.串口硬件接口

  根据原理图,USART1_TX和PC4相连,USART1_RX和PC5相连。
在这里插入图片描述

2.串口配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.代码生成

在这里插入图片描述

3.1 实现printf函数重定向

int fputc(int c, FILE *stream)
{huart1.Instance->TDR=c;while( !(huart1.Instance->ISR&1<<7)){}return c;
}

3.2 串口中断

void USART1_IRQHandler(void)
{/* USER CODE BEGIN USART1_IRQn 0 */uint8_t c;/* USER CODE END USART1_IRQn 0 */HAL_UART_IRQHandler(&huart1);/* USER CODE BEGIN USART1_IRQn 1 */c=huart1.Instance->RDR;//接收数据huart1.Instance->TDR=c;/* USER CODE END USART1_IRQn 1 */
}

3.3 主函数

在这里插入图片描述
  串口接线:
在这里插入图片描述
  运行结果:
在这里插入图片描述


http://www.ppmy.cn/news/307053.html

相关文章

STM32G030烧录后使用keil5进入dubug模式,不能跳转到main函数正常运行

关于标题提示问题&#xff0c;找了好久才找到问题在哪里&#xff0c;分享给大家&#xff0c;防止后来人花费大量时间查找这个问题 STM32G系列是ST公司这两年新推的芯片&#xff0c;相对于STM32F系列有了很多地方的更改。个人感觉这些更改有些地方比较好使&#xff0c;比如增加…

STM32G473晶振不起震

最近遇到STM32G4晶振两端无波形&#xff0c;以为没启震&#xff0c;最终发现是示波器探头的问题&#xff0c;其探头实际电容为200pf&#xff0c;MCU晶振管脚驱不动。实际上有一个MCO功能&#xff0c;可以将晶振的波形通过此功能输出到一个管脚上查看。刚好顺带了解晶振电路的原…

STM32G0在使用BootLoader后应用程序不能正常跳转的解决办法

前提条件&#xff1a;app独自运行没有问题&#xff0c;初始化或者长时间运行都不会跑飞&#xff1b;但是加入bootloader后主程序出现异常。 程序框架&#xff1a; 0x08000000 ~ 0x08003000 &#xff1a;bootloader占用&#xff1b; 0x08003000 ~ 最大&#xff1a; app占用&…

STM32G431之点灯和按键配置

STM32G431之点灯和按键配置 1.硬件接口 STM32G431开发板有一个用户按钮和LED灯   根据原理图&#xff0c;LD2和PA5相连&#xff0c;想要点亮LED则PA5应该为高电平。   用户按键B1和PC13相连&#xff0c;按下为高电平&#xff1b; 2.软件设计 2.1 芯片型号选择 本示例所…

【初识NUCLEO-STM32G0B1RE】

初识NUCLEO-STM32G0B1RE 最近入手了一块NUCLE-G0B1RE ST的开发版&#xff0c;看了一下相关开发板资料网上好像也挺少的只有官网有比较完整的数据手册和原理图这些&#xff0c;值得开心的一点的STM32G0的使用和STM32F1相似&#xff0c;在进行编程时也有一种熟悉感。同样也会一步…

计算机能运行超过内存的程序么,如果电脑使用内存超过32G那是种怎样的体验?...

这里首先说明一点&#xff0c;电脑的内存主要是搭配CPU才能完成各类数据的运算&#xff0c;程序也都是通过CPU来分配和处理的&#xff0c;所有电脑的内存不是越大就越好。 CPU相当于计算机的“大脑”&#xff0c;而内存相当于大脑的“办公桌”。 CPU需要处理大量的计算数据。它…

【STM32G0-HAL库串口控制】

STM32G0-HAL库串口控制 今天分享的是基于HAL库进行串口的配置输出以及重定位实现&#xff0c;使用的开发板是STM32G0B1RE&#xff0c;和F1系列的芯片使用方法是一模一样的。 一、打开CubeMX进行工程配置 这里使用的是串口2 具体的操作步骤就不重复了&#xff0c;就介绍一些关键…

STM32G431——按键的三行代码(长按、短按、单击、双击)

按键的三行代码(长按、短按、单击、双击&#xff09; 按键的三行代码按键的长按、短按按键的单击、双击 按键的三行代码 key_value KEY_Scan(); //读取按键的键值 key_up ~key_value & (key_old ^ key_value); //按键的上升沿检测 只在按键抬起的瞬间有效 其他时刻都为零…