try: speed = int(user_speed) if speed < 0 or speed > 100: raise InputError except: print "enter an speed between 0% and 100%" return None match_value = speed * periodValue / 100 return match_value roboveroConfig() MCPWM_Init(LPC_MCPWM) channelsetup = MCPWM_CHANNEL_CFG_Type() channelsetup.channelType = MCPWM_CHANNEL_EDGE_MODE channelsetup.channelPolarity = MCPWM_CHANNEL_PASSIVE_HI channelsetup.channelDeadtimeEnable = DISABLE channelsetup.channelDeadtimeValue = 0 channelsetup.channelUpdateEnable = ENABLE channelsetup.channelTimercounterValue = 0 channelsetup.channelPeriodValue = periodValue channelsetup.channelPulsewidthValue = 0 MCPWM_ConfigChannel(LPC_MCPWM, 0, channelsetup.ptr) # Disable DC Mode MCPWM_DCMode(LPC_MCPWM, DISABLE, ENABLE, (0))