查看: 1242|回复: 1

lg026 uart5 rx dma 如何配置

[复制链接]

41

主题

59

帖子

483

积分

高级工程师

Rank: 3Rank: 3

积分
483
发表于 2023-5-8 13:09:52 | 显示全部楼层 |阅读模式
如题,使用下面这两个函数配置后,无法正确接收到数据
  1. void MF_DMA_FL_DMA_CHANNEL_4_Channel4_Init(void)
  2. {
  3.     FL_DMA_InitTypeDef DMA_InitStruct;

  4.     DMA_InitStruct.circMode = FL_DISABLE;
  5.     DMA_InitStruct.dataSize = FL_DMA_BANDWIDTH_8B;
  6.     DMA_InitStruct.direction = FL_DMA_DIR_PERIPHERAL_TO_RAM;
  7.     DMA_InitStruct.periphAddress = FL_DMA_PERIPHERAL_FUNCTION6;
  8.     DMA_InitStruct.priority = FL_DMA_PRIORITY_LOW;
  9.     DMA_InitStruct.memoryAddressIncMode = FL_DMA_MEMORY_INC_MODE_INCREASE;
  10.     DMA_InitStruct.flashAddressIncMode = FL_DMA_CH7_FLASH_INC_MODE_INCREASE;

  11.     FL_DMA_Init(DMA, &DMA_InitStruct, FL_DMA_CHANNEL_4);

  12.     FL_DMA_ClearFlag_TransferComplete(DMA, FL_DMA_CHANNEL_4);
  13.     FL_DMA_EnableIT_TransferComplete(DMA, FL_DMA_CHANNEL_4);

  14.     FL_UART_SetTXIFMode(UART5,FL_UART_TXIF_MODE_AFTER_DMA);
  15. }
复制代码
  1. void MF_UART5_Init(void)
  2. {
  3.     FL_GPIO_InitTypeDef GPIO_InitStruct;

  4.     FL_UART_InitTypeDef UART5_InitStruct;

  5.     /* PC4 UART5_RX */
  6.     GPIO_InitStruct.pin = FL_GPIO_PIN_4;
  7.     GPIO_InitStruct.mode = FL_GPIO_MODE_DIGITAL;
  8.     GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
  9.     GPIO_InitStruct.pull = FL_DISABLE;
  10.     GPIO_InitStruct.remapPin = FL_DISABLE;
  11.     GPIO_InitStruct.analogSwitch = FL_DISABLE;
  12.     FL_GPIO_Init(GPIOC, &GPIO_InitStruct);

  13.     /* PC5 UART5_TX */
  14.     GPIO_InitStruct.pin = FL_GPIO_PIN_5;
  15.     GPIO_InitStruct.mode = FL_GPIO_MODE_DIGITAL;
  16.     GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
  17.     GPIO_InitStruct.pull = FL_DISABLE;
  18.     GPIO_InitStruct.remapPin = FL_DISABLE;
  19.     GPIO_InitStruct.analogSwitch = FL_DISABLE;
  20.     FL_GPIO_Init(GPIOC, &GPIO_InitStruct);

  21.     UART5_InitStruct.clockSrc = NULL;
  22.     UART5_InitStruct.baudRate = 4800;
  23.     UART5_InitStruct.transferDirection = FL_UART_DIRECTION_TX_RX;
  24.     UART5_InitStruct.dataWidth = FL_UART_DATA_WIDTH_8B;
  25.     UART5_InitStruct.stopBits = FL_UART_STOP_BIT_WIDTH_1B;
  26.     UART5_InitStruct.parity = FL_UART_PARITY_EVEN;

  27.     FL_UART_Init(UART5, &UART5_InitStruct);
  28. }
复制代码




回复

使用道具 举报

151

主题

840

帖子

4377

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4377
发表于 2023-5-11 17:15:52 | 显示全部楼层
没看出啥问题,首先单独调试uart 是否能收到,然后加上dma再调试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表