{ uint32_t ui32Value,capa; uint32_t uiFactor = 10; SysTickPeriodSet(80000/uiFactor); // 80000 ->1ms // Delay for some time... SystemTickWait(200*uiFactor); //Initial comparator // // Enable Peripheral Clocks // SysCtlPeripheralEnable(SYSCTL_PERIPH_COMP0); SysCtlPeripheralEnable(SYSCTL_PERIPH_COMP1); SysCtlPeripheralEnable(SYSCTL_PERIPH_COMP2); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOM); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOP); // Enable pin PP0 for COMP2 C2+ // //MAP_GPIOPinConfigure(GPIO_PP0_C2+); GPIOPinTypeComparator(GPIO_PORTP_BASE, GPIO_PIN_0); // Enable pin PP1 for COMP2 C2- // // MAP_GPIOPinConfigure(GPIO_PP1_C2-); GPIOPinTypeComparator(GPIO_PORTP_BASE, GPIO_PIN_1); // // Enable pin PD2 for COMP2 C2O // GPIOPinConfigure(GPIO_PD2_C2O); //GPIOPinTypeComparator(GPIO_PORTD_BASE, GPIO_PIN_2); GPIODirModeSet(GPIO_PORTD_BASE, GPIO_PIN_2, GPIO_DIR_MODE_HW); GPIOPadConfigSet(GPIO_PORTD_BASE, GPIO_PIN_2, GPIO_STRENGTH_8MA, GPIO_PIN_TYPE_STD); // // Enable pin PM7 for GPIOInput // GPIOPinTypeGPIOInput(GPIO_PORTM_BASE, GPIO_PIN_7); UartOsPrintf("1\n\r"); // Configure the internal voltage reference. // ComparatorRefSet(COMP_BASE, COMP_REF_1_925V); // // Configure comparator 0. // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOQ); GPIOPinTypeGPIOOutput(GPIO_PORTQ_BASE, GPIO_PIN_6); GPIOPinWrite( GPIO_PORTQ_BASE, GPIO_PIN_6, 0); UartOsPrintf("2\n\r"); ComparatorConfigure(COMP_BASE, 2, (COMP_TRIG_NONE| COMP_INT_BOTH| COMP_ASRCP_PIN| COMP_OUTPUT_NORMAL)); //ComparatorIntEnable(COMP_BASE,2); //IntEnable(INT_COMP2); //IntMasterEnable(); // // Delay for some time... // UartOsPrintf("3\n\r"); SystemTickWait(2000*uiFactor); UartOsPrintf("Comparator out=%d\n\r",ComparatorValueGet(COMP_BASE, 2)); //PQ6_CHG_4V1_OFF UartOsPrintf("Monitor Set C charge start \n"); GPIOPinWrite( GPIO_PORTQ_BASE, GPIO_PIN_6, GPIO_PIN_6); ComStart = SystemTickGet(); UartOsPrintf("Comparator out=%d\n\r",ComparatorValueGet(COMP_BASE, 2)); while(ComparatorValueGet(COMP_BASE, 2)==0) { //UartOsPrintf("w\n\r"); //ComStop= SystemTickGet(); } ComStop= SystemTickGet(); UartOsPrintf("Comparator out=%d\n\r",ComparatorValueGet(COMP_BASE, 2)); UartOsPrintf("Monitor Set C charge stop \n"); // // Read the comparator output value. ComValue=ComStop - ComStart; UartOsPrintf("4 Com=%d\n\r",ComValue); capa = (ComValue*10000)/15249; UartOsPrintf("Capacity=%d.%d\n\r",(capa/100),(capa%100)); UartOsPrintf("Comparator out=%d\n\r",ComparatorValueGet(COMP_BASE, 2)); SystemTickWait(1000*uiFactor); UartOsPrintf("Comparator out=%d\n\r",ComparatorValueGet(COMP_BASE, 2)); UartOsPrintf("5\n\r"); SysTickPeriodSet(80000); #endif }