你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

CubeF1 ADC DMA的DMA1_Channel1_IRQHandler如果用while(1)等待则无法触发

[复制链接]
sunlite 提问时间:2015-1-29 18:26 /
本帖最后由 sunlite 于 2015-1-29 18:26 编辑

代码直接用CubeMX生成的,
ADC1_Channel1 的5通道采样, DMA传输,在main的主循环里用HAL_ADC_Start_DMA() 开始ADC采样。

main.c:
  1. volatile uint8_t DMATC;
复制代码


   
  1. while (1) {
  2.             DMATC = 0;    //在DMA1_Channel1_IRQHandler会把这个值更新为1
  3.      HAL_ADC_Start_DMA(&hadc1, (uint32_t *) adcValues, 5);
  4.      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET);
  5.      while(DMATC == 0)       //这里如果用while去等待DMATC更新为1,则DMA1_Channel1_IRQHandler 永远不会被执行
  6.                                           // 用示波器看PB14脚永远是高电平的,
  7.                                           // 如果去掉这段while等待,那么DMA1_Channel1_IRQHandler就会被执行,DMATC也会被更新为1,
  8.     {
  9.                 ;
  10.     }
  11.      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET);
  12.     }
复制代码
stm32f1xx_it.c:
  1. /**
  2. * @brief This function handles DMA1 channel1 global interrupt.
  3. */
  4. void DMA1_Channel1_IRQHandler(void)
  5. {
  6.     /* USER CODE BEGIN DMA1_Channel1_IRQn 0 */

  7.     /* USER CODE END DMA1_Channel1_IRQn 0 */
  8.     HAL_DMA_IRQHandler(&hdma_adc1);
  9.     /* USER CODE BEGIN DMA1_Channel1_IRQn 1 */
  10.     DMATC = 1;    //
  11.     /* USER CODE END DMA1_Channel1_IRQn 1 */
  12. }
复制代码
项目文件打包,用的是TrueStudio lite. 不知道这到底是什么问题,俺刚刚开始折腾stm32, 摸cube之前只碰过一周的StdPeriphral库,也许犯了初学者常见的问题,还望各位不吝赐教。

多谢


testcube01.zip

下载

159.36 KB, 下载次数: 38, 下载积分: ST金币 -1

adcDMA TrueStudio项目文件

收藏 评论4 发布时间:2015-1-29 18:26

举报

4个回答
宛仔 回答时间:2015-1-29 19:04:12
手里没有F1的板子帮不了你,帮顶
黄小狼 回答时间:2015-1-29 22:11:42
stm32cube_fw_f1_v100.zip有没有下载地址
sunlite 回答时间:2015-1-29 22:12:42
黄小狼 发表于 2015-1-29 22:11
stm32cube_fw_f1_v100.zip有没有下载地址

不需要自己找下载地址,直接用cubeMX去更新就行了
黄小狼 回答时间:2015-1-29 23:02:13
sunlite 发表于 2015-1-29 22:12
不需要自己找下载地址,直接用cubeMX去更新就行了

更新不动呀,很慢,你把你的压缩包给一个好不?

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版