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

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, 下载次数: 37, 下载积分: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版