Embedded 将电流设置为CMPDAC、DAC阈值(期望电压)的微芯片样本代码

Embedded 将电流设置为CMPDAC、DAC阈值(期望电压)的微芯片样本代码,embedded,microcontroller,pic,microchip,Embedded,Microcontroller,Pic,Microchip,对不起,微芯片论坛很慢,我更喜欢用堆栈溢出来提问 dsPIC33FJ06GS101/X02 and dsPIC33FJ16GSX02/X04 device Sample Code // configure comparator2 CMPCON2bits.CMPON = 1; // enable comparator CMPCON2bits.INSEL = 1; // select CMP2B input pin (RB0)

对不起,微芯片论坛很慢,我更喜欢用堆栈溢出来提问

dsPIC33FJ06GS101/X02 and dsPIC33FJ16GSX02/X04    device 

 Sample Code   
              // configure comparator2  


    CMPCON2bits.CMPON = 1;   // enable comparator 
CMPCON2bits.INSEL = 1;   // select CMP2B input pin (RB0) 
CMPCON2bits.RANGE = 1;   // select high range, max DAC value = Avdd/2        
//CMPDACx: COMPARATOR DAC CONTROL REGISTER        
//CMREF<9:0>: Comparator Reference Voltage Select bits 
CMPDAC2 = CURR_HWLIM;    // DAC threshold 


  #define CURR_HWLIM 1023 // 1023 // 10.15 * 101A  
微芯片样本代码设置CURR_HWLIM(1023A)到CMPDAC2(期望电压)

这是错误吗?

请参阅数据表中的寄存器20-2:CMPDACx:比较器DAC控制寄存器:

bit 9-0 CMREF<9:0>: Comparator Reference Voltage Select bits

1111111111 = (CMREF * INTREF/1024) or (CMREF * (AVDD/2)/1024) volts depending on
RANGE bit or (CMREF * EXTREF/1024) if EXTREF is set
.
.
.
0000000000 = 0.0 volts
范围位似乎设置为1,因此公式为电压=CMPDAC2*AVDD/2/1024

要根据输入电压计算数字值,请使用CMPDAC2=1024*电压/AVDD/2