本实验使用STM32CubeMX软件进行元器件的初始化

分析电路图可知:接收数据线对应的管脚为PB2,发送数据线对应的管脚为PG11

打开CubeMX软件后,在芯片中找到PB2和PG11管脚,鼠标左键选中后选择UART4_RX和UART4_TX模式

在左侧的A-Z下拉菜单中找到UART4后点击进入,勾选M4使uart以M4核驱动,通信模式改为异步。CubeMX软件中的配置完成。

 以kile方式导出工程文件,并编写代码

1、uart.c——fputc函数的重写

/* USER CODE BEGIN 0 */
int fputc(int ch,FILE* stream)
{
	//判断发送寄存器是否为空
	while(!(huart4.Instance->ISR & (0x1 << 7)));
	//将要发送的数据放入发送寄存器中
	huart4.Instance->TDR = ch;
	
	//判断是否为'\n'
	if(ch == '\n')
	{
		//判断发送寄存器是否为空
		while(!(huart4.Instance->ISR & (0x1 << 7)));
		huart4.Instance->TDR = '\r';
	}
	return ch;
}
/* USER CODE END 0 */

2、main.c

  /* USER CODE BEGIN 2 */
	printf("uart4 test!!!!!\n");
  /* USER CODE END 2 */

在仿真中运行代码即可在串口工具中看到uart4 test!!!!!的提示字样

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐