void PumpRate(void) { LCD_SetTextSize(4); LCD_SetTextColor(BLACK,WHITE); while(1) { if(!Read_UP_Button()) { while(!Read_UP_Button); PumpingRate += 10; if(PumpingRate>300) PumpingRate=300; PWM_Freq(PumpingRate); Print_Text_On(Line4,Position4); //LCD_Printf("UP"); //PrintDecimal(PumpingRate); PrintRate(PumpingRate); } else if(!Read_DOWN_Button()) { while(!Read_DOWN_Button()); PumpingRate -= 10; if(PumpingRate<10) PumpingRate=10; PWM_Freq(PumpingRate); Print_Text_On(Line4,Position4); //LCD_Printf("DN"); //PrintDecimal(PumpingRate); PrintRate(PumpingRate); } else if(!Read_OK_Button()) { while(!Read_OK_Button()); LCD_SetCursor(2,Line7); LCD_SetTextSize(2); LCD_SetTextColor(BLUE,WHITE); LCD_Printf(" "); HAL_Delay(1000); //return; break; } } }
static DeviceStatus_TYPE _drv_ioctl(pDeviceAbstract pdev, uint8 cmd, void *args) { DeviceStatus_TYPE rt = DEVICE_OK; portuBASE_TYPE pin_bit; int (*gpio_exec)(ADI_GPIO_TypeDef *pPort, int iVal); switch (cmd) { case PWM_IOC_RHREF_FORCE_H: pin_bit = BIT(2); gpio_exec = DioSet; pwm_rhref_pins_disable(); break; case PWM_IOC_RHREF_FORCE_L: pin_bit = BIT(2); gpio_exec = DioClr; pwm_rhref_pins_disable(); break; case PWM_IOC_HEAT_FORCE_H: pin_bit = BIT(4); gpio_exec = DioSet; pwm_heat_pins_disable(); break; case PWM_IOC_HEAT_FORCE_L: pin_bit = BIT(4); gpio_exec = DioClr; pwm_heat_pins_disable(); break; case PWM_IOC_RHREF_FREQ: pwm_rhref_pins_enable(); PWM_Freq(enum_RHREF, static_cast<uint16>((uint32)args)); return rt; case PWM_IOC_RHREF_DUTY_CYCLE: pwm_rhref_pins_enable(); PWM_DutyCycle(enum_RHREF, static_cast<uint16>((uint32)args)); return rt; case PWM_IOC_HEAT_FREQ: pwm_heat_pins_enable(); PWM_Freq(enum_HEAT, static_cast<uint16>((uint32)args)); return rt; case PWM_IOC_HEAT_DUTY_CYCLE: pwm_heat_pins_enable(); PWM_DutyCycle(enum_HEAT, static_cast<uint16>((uint32)args)); return rt; case PWM_IOC_MEASURE_ON: GPIO_TMeasOn(); return rt; case PWM_IOC_MEASURE_OFF: GPIO_TMeasOff(); return rt; default: return DEVICE_ECMD_INVALID; } //pwm0 - p1.2(rhref) pwm1 - p1.4(HEAT) gpio_exec(pADI_GP1, pin_bit); return rt; }