OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4345|回复: 2

..\Driver\bsp_user.c(309): error: #134: expected a field name,困扰了一天 不知道怎么解决

[复制链接]

34

主题

83

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2016-10-30
在线时间
38 小时
发表于 2017-3-24 16:19:18 | 显示全部楼层 |阅读模式
1金钱
    __HAL_DMA_CLEAR_FLAG(&UART8_RxDMA_Handler,DMA_FLAG_TCIF1_5);        不报错
   __HAL_DMA_ENABLE_IT(&UART8_RxDMA_Handler, DMA_IT_TC);                       报错 错误如下
   __HAL_DMA_GET_FLAG(&UART8_RxDMA_Handler,DMA_FLAG_TCIF3_7);        不报错
    HAL_NVIC_SetPriority(DMA1_Stream6_IRQn,2,2);                 
    HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn);

..\Driver\bsp_user.c(309): error:  #134: expected a field name

可是dma.h文件里有
#define __HAL_DMA_CLEAR_FLAG(__HANDLE__, __FLAG__) \
(((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA2_Stream3)? (DMA2->HIFCR = (__FLAG__)) :\
((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream7)? (DMA2->LIFCR = (__FLAG__)) :\
((uint32_t)((__HANDLE__)->Instance) > (uint32_t)DMA1_Stream3)? (DMA1->HIFCR = (__FLAG__)) : (DMA1->LIFCR = (__FLAG__)))

/**
  * @brief  Enable the specified DMA Stream interrupts.
  * @param  __HANDLE__: DMA handle
  * @param  __INTERRUPT__: specifies the DMA interrupt sources to be enabled or disabled.
  *        This parameter can be one of the following values:
  *           @arg DMA_IT_TC: Transfer complete interrupt mask.
  *           @arg DMA_IT_HT: Half transfer complete interrupt mask.
  *           @arg DMA_IT_TE: Transfer error interrupt mask.
  *           @arg DMA_IT_FE: FIFO error interrupt mask.
  *           @arg DMA_IT_DME: Direct mode error interrupt.
  * @retval None
  */
#define __HAL_DMA_ENABLE_IT(__HANDLE__, __INTERRUPT__)   (((__INTERRUPT__) != DMA_IT_FE)? \
((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) : ((__HANDLE__)->Instance->FCR |= (__INTERRUPT__)))


这两个define都定义了啊 这是为什么呢困扰一天了


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

83

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2016-10-30
在线时间
38 小时
 楼主| 发表于 2017-3-24 16:36:33 | 显示全部楼层
#define __HAL_DMA_ENABLE_IT(__HANDLE__, __INTERRUPT__)   (((__INTERRUPT__) != DMA_IT_FE)? \
((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) : ((__HANDLE__)->Instance->FCR |= (__INTERRUPT__))) 原因找到了 是这个define后面的语句有问题 但不知道怎么改了,毕竟这是官方库
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-3-24 18:24:09 | 显示全部楼层
帮顶,用寄存器表示没这么多烦恼
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 20:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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