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

STM32F302 模拟比较器输出问题

[复制链接]
c_lass 提问时间:2017-9-1 16:57 /
         测试STM32F302RB 的模拟比较器的时候 使用PA3,PA4作为 COMPARE2 D的输入,PA2作为COMPARE2的输出, 无论PA3>PA4 还是PA4>PA3 PA2的电平都不翻转。为0.1-0.5V,我以为是我配置除了问题,拿cubemax 配置了一下仍然不能解决问题,结合前段时候用它测试 TIM15 更新事件产生TRGO 触发ADC转换DMA转移数据,使能DMA1_Channel_1中断,中断只进一次,觉得STM32F3系列有较多问题,去年同事用STM32F334做LLC,然后又放弃了,换TI 的 ucd3138(查了下它的AC/DC方案可以做 1KW 99%效率) ,好像官方给的例程就有问题。
测试代码如下:
                   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;                  //PA3 COMPARE2+  PA4 COMPARE2-
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;                  //PA2 COMPARE2_OUT
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_8);
   
//    GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
//    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                  
//  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
//    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
//  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
//  GPIO_Init(GPIOA, &GPIO_InitStructure);
   
   
   
//  COMP_StructInit(&COMP_InitStructure);
//  COMP_InitStructure.COMP_InvertingInput = COMP_InvertingInput_DAC1OUT1;        // 1/2 VREFINT×÷Ϊ±È½ÏÆ÷¸º¼«ÊäÈë
//  COMP_InitStructure.COMP_Output = COMP_Output_None;                              //Êä³ö²»Öض¨Ïò
//    COMP_InitStructure.COMP_BlankingSrce=COMP_BlankingSrce_None;                    //²»Ê¹ÄÜÊä³öÏûÒþ
//  COMP_InitStructure.COMP_Mode = COMP_Mode_HighSpeed;                             //±È½ÏÆ÷¸ßËÙģʽ
//    COMP_InitStructure.COMP_OutputPol=COMP_OutputPol_NonInverted;                   //Êä³ö²»·´Ïò
//    COMP_InitStructure.COMP_NonInvertingInput=COMP_NonInvertingInput_IO1;           //PA1 ×÷Ϊ COMPARE1 Õý¶ËÊäÈë
//  COMP_InitStructure.COMP_Hysteresis = COMP_Hysteresis_High;                      //Êä³ö³ÙÖ͸ß
//  COMP_Init(COMP_Selection_COMP1, &COMP_InitStructure);

  COMP_StructInit(&COMP_InitStructure);
  COMP_InitStructure.COMP_InvertingInput = COMP_InvertingInput_DAC1OUT1;         //PA4 DAC1OUT1 ×÷Ϊ±È½ÏÆ÷¸º¼«ÊäÈë
    COMP_InitStructure.COMP_NonInvertingInput=COMP_NonInvertingInput_IO2;   //PA3 ×÷Ϊ COMPARE2 Õý¶ËÊäÈë
  COMP_InitStructure.COMP_Output = COMP_Output_None;                              //Êä³öδÁ¬½ÓÆäËûÍâÉè
  COMP_InitStructure.COMP_Mode = COMP_Mode_HighSpeed;                           //
  COMP_InitStructure.COMP_Hysteresis = COMP_Hysteresis_No;                      //Êä³ö³ÙÖ͸ß
    COMP_InitStructure.COMP_OutputPol=COMP_OutputPol_NonInverted;
    COMP_InitStructure.COMP_BlankingSrce=COMP_BlankingSrce_None;
  COMP_Init(COMP_Selection_COMP2, &COMP_InitStructure);

收藏 评论1 发布时间:2017-9-1 16:57

举报

1个回答
无薪税绵 回答时间:2017-9-4 12:33:08
一般情况下,官方例程是不会有问题的。
请检查一下,IO引脚的复用问题,
看看是否已经正确配置了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版