通信字符串和波特率

本文介绍了如何在STM32微控制器上设置RCC、串口、DMA,以及通过Keil进行项目配置和代码编写,实现115200bps波特率的数据发送。在Keil中定义了发送信息并使用HAL库的串口传输函数,同时设置了中断处理函数以实现连续发送数据。
摘要由CSDN通过智能技术生成

一.项目创建

1.设置RCC

请添加图片描述

2.设置串口

点击USATR1
设置MODE为异步通信(Asynchronous)
基础参数:波特率为115200 Bits/s。传输数据长度为8Bit。奇偶检验无,停止位1 接收和发送都使能 > GPIO引脚自动设置 USART1_RX/USART_TX
NVIC Settings一栏使能接收中断
请添加图片描述

请添加图片描述

3.设置DMA

请添加图片描述

4.DMA基础设置

请添加图片描述

5.设置时钟

请添加图片描述

6.项目文件创建

请添加图片描述

二.keil配置

1.配置下载工具

请添加图片描述

请添加图片描述

2.编辑代码

定义发送信息

char message[]="hello Windows\n";

在while循环中添加代码

	if(flag==1)
		{
			// 发送信息
			HAL_UART_Transmit(&huart1, (uint8_t *)&message,COUNTOF(message),0xFFFF); 
			// 延时
			HAL_Delay(1000);
		}
		else if(flag==0)
		{
			HAL_Delay(1000);
		}

在main.c中重写USART1_IRQHandler函数

void USART1_IRQHandler(void)
{
	 HAL_UART_IRQHandler(&huart1); //
   HAL_UART_Receive_IT(&huart1, (uint8_t *)getBuffer,10);  //
}

3.烧录运行

请添加图片描述

三.结果展示

请添加图片描述

请添加图片描述

四.STM32采用串口DMA方式,用115200bps或更高速率向上位机连续发送数据

1.项目修改

请添加图片描述

2.烧录运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值