stm32f051c8的模拟比较器配置不成功

2019-08-21 12:34发布

最近在使用stm32f051,在配置模拟比较器时很奇怪,无法配置反向输入端
void Comp_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
COMP_InitTypeDef COMP_InitStructure;

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);

GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_1 | GPIO_Pin_5;
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_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource0, GPIO_AF_7);

COMP_InitStructure.COMP_InvertingInput = COMP_InvertingInput_IO;
COMP_InitStructure.COMP_Output = COMP_Output_None;
COMP_InitStructure.COMP_OutputPol = COMP_OutputPol_NonInverted;
COMP_InitStructure.COMP_Hysteresis = COMP_Hysteresis_No;
COMP_InitStructure.COMP_Mode = COMP_Mode_MediumSpeed;

COMP_Init(COMP_Selection_COMP1 , &COMP_InitStructure);

COMP_Cmd(COMP_Selection_COMP1 , ENABLE);
}
想把PA1 PA5设置成比较器的输入
这样配置后发现只有PA1口设置成了比较器的一个输入端,但另一个输入端不知道是哪了,PA1接高电平PA0输出高电平,PA1接地PA0输出低电平,另一个端口完全不知道被配置到哪去了,PA5接高接低输出完全没反应
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zhangyh89
1楼-- · 2019-08-21 13:47
后来查的用户手册里寄存器定义发现库函数里COMP_InvertingInput_IO之类关于输入口配置的定义是错误的
正点原子
2楼-- · 2019-08-21 16:54
帮顶.....
爱博不专
3楼-- · 2019-08-21 22:04
楼主的芯片型号是什么呢,我最近在用051C8T6,PA1是COMP1正向输入端吧,不知外接电压最大值是多少?
fanghaoxu
4楼-- · 2019-08-21 23:19
楼主搞定没?最近在弄这个,我发现你好像这句COMP_InitStructure.COMP_InvertingInput = COMP_InvertingInput_IO;配错了。
fanghaoxu
5楼-- · 2019-08-22 04:12
 精彩回答 2  元偷偷看……

一周热门 更多>