dozm 发表于 2014-11-10 12:48:20

求助:STM8L151F3P6比较器问题

本帖最后由 dozm 于 2014-11-10 12:53 编辑

选用PC4作为参考电压,PD0和PC4进行比较
void InitComparator(void)//初始化
{
      RI_IOSR2 |= 0x82; //PC4 PD0   打开模拟通道
//      COMP_CSR1 = 0x00;//Comparator 1 固定阀值
      COMP_CSR4 = 0x2d;//PC4 PD0 0:使能 1:关闭施密特触发器
      COMP_CSR5 = 0x3f;//禁止选择
      COMP_CSR2 = 0x07;//Comparator 2上升、下降沿触发 快速模式
      COMP_CSR3 = 0xC8;//选择2组 PC4作为输入参考
      COMP_CSR2 |= 0x20;//Comparator 2中断使能
}

我用示波器看2个输入口的信号周期20ms的正弦波信号,按我的想法应该是10ms进一次中断,结果每次从比较中断出来就接着进比较中断,求各位大侠指点。

中断函数
@far @interrupt void ComPare(void)   //比较器中断 上升、下降沿都触发
{
        bIntFlag = TRUE;
        IO_Test = ~IO_Test;
}

dozm 发表于 2014-11-10 17:10:39

总算试出来了,得清个事件标志位。

沐紫 发表于 2014-11-11 17:21:58

dozm 发表于 2014-11-10 17:10
总算试出来了,得清个事件标志位。

恭喜楼主!:)
页: [1]
查看完整版本: 求助:STM8L151F3P6比较器问题