DMA案例 内存到外设搬运

DMA案例 内存到外设搬运

需求
使用DMA的方式将内存数据搬运到串口1发送寄存器,同时闪烁LED1。
在这里插入图片描述
在这里插入图片描述

用到的库函数

HAL_UART_Transmit_DMA

HAL_StatusTypeDef HAL_UART_Transmit_DMA(
	UART_HandleTypeDef *huart,  // 参数一
	uint8_t *pData,  // 参数二
	uint16_t Size  // 参数三
)

参数一:UART_HandleTypeDef *huart 串口句柄
参数二:uint8_t *pData 待发送数据首地址
参数三:uint16_t Size 待发送数据返回值
返回值:HAL_StatusTypeDef,HAL状态(OK,busy,ERROR,TIMEOUT)

代码实现

  1. 准备数据
  2. 将数据通过串口DMA发送
#define BUF_SIZE 1000
unsigned char sendBuf[BUF_SIZE] = {0};
int i = 0;
// 准备数据
for(i = 0; i < BUF_SIZE; i++){
	sendBuf[i] = 'A';
}
// 将数据通过串口DMA发送
HAL_UART_Transmit_DMA(&huart1, sendBuf, BUF_SIZE);

while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_8);
	HAL_Delay(100);
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值