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