A feedback-controlled battery charger circuit (500) provides, alternatively, constant current and constant voltage to a battery (328) being charged. Current and voltage at the charger output (326) are sensed in sensing elements (308) and compared to preset reference values from reference generators for current (330) and voltage (332), thus generating error signals for both current and voltage. These error signals are amplified in separate amplifiers (530, 534); then, depending on battery voltage, one of the amplified error signals is automatically selected by a signal selector (540). The selected error signal is applied to a single compensation amplifier (554) with reactive feedback loop (552, 556); the output of the compensation amplifier with feedback (504) then controls the output current or voltage of the output stage (306). This output stage is a voltage controlled current source. The output of this voltage controlled current source is connected through an output filter (318) and sensing elements (308) to the battery (328) being charged.