int main(void) { RCC_Configuration(); GPIO_Configuration(); RCC_ClocksTypeDef RCC_Clocks; RCC_GetClocksFreq(&RCC_Clocks); SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000 - 1); setup_adc(); tim1_init(); usart_init(); PWM_U = 0; PWM_V = 0; PWM_W = 0; while(1){ if(uartsend == 1){ amp = AMP(amp_raw); volt = VOLT(volt_raw); if(temp_raw < ARES && temp_raw > 0){ temp = TEMP(temp_raw); } from_hv.dc_volt = TOFIXED(volt); from_hv.dc_cur = TOFIXED(amp); from_hv.hv_temp = TOFIXED(temp); #ifdef TROLLER from_hv.dc_cur = TOFIXED(0); from_hv.hv_temp = TOFIXED(0); from_hv.a = TOFIXED(AMP(ADCConvertedValue[1])); from_hv.b = TOFIXED(AMP(ADCConvertedValue[2])); from_hv.c = TOFIXED(AMP(ADCConvertedValue[3])); #endif uartsend = 0; while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); USART_SendData(USART2, 0x154); for(int j = 0;j<sizeof(from_hv_t);j++){ while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); USART_SendData(USART2, ((uint8_t*)&from_hv)[j]); } } //GPIOA->BSRR = (GPIOA->ODR ^ GPIO_Pin_2) | (GPIO_Pin_2 << 16);//toggle red led } }
void ObjAlign( LPRECT bRect, LPRECT oRect, LPALIGNOBJECTS_PARMS lpAlignParms, LFIXED vSpace, LFIXED hSpace, LPINT xOffset, LPINT yOffset, LPLFIXED fx, LPLFIXED fy ) /************************************************************************/ { switch( lpAlignParms->HorzAlign ) { case HA_RIGHT: *xOffset = ( bRect->right - RectWidth( oRect ) ) - oRect->left; break; case HA_LEFT: *xOffset = bRect->left - oRect->left; break; case HA_CENTER: *xOffset = bRect->left + FINT( FGET( RectWidth( bRect ), 2 ) - FGET( RectWidth( oRect ), 2 ) ) - oRect->left; break; case HA_EQUAL: if( *fx == 0 ) { *xOffset = bRect->left - oRect->left; *fx = TOFIXED( RectWidth( oRect ) + bRect->left ) + hSpace; } else { *xOffset = FINT( *fx ) - oRect->left; *fx += TOFIXED( RectWidth( oRect ) ) + hSpace; } break; case HA_NONE: *xOffset = 0; break; } switch( lpAlignParms->VertAlign ) { case VA_TOP: *yOffset = bRect->top - oRect->top; break; case VA_BOTTOM: *yOffset = ( bRect->bottom - RectHeight( oRect ) ) - oRect->top; break; case VA_MID: *yOffset = bRect->top + FINT( FGET( RectHeight( bRect ), 2 ) - FGET( RectHeight( oRect ), 2 ) ) - oRect->top; break; case VA_EQUAL: if( *fy == 0 ) { *yOffset = bRect->top - oRect->top; *fy = TOFIXED( RectHeight( oRect ) + bRect->top ) + vSpace; } else { *yOffset = FINT( *fy ) - oRect->top; *fy += TOFIXED( RectHeight( oRect ) ) + vSpace; } break; case VA_NONE: *yOffset = 0; break; } }