A motor drive circuit comprising: a rotor position detector that is configured to detect a position of a rotor and to output a rotor position detection signal; a rotor position signal generator that is configured to generate signals P1, P2, P3, P4, P5, and P6 as a rotor position signal based on the rotor position detection signal output from the rotor position detector; a rotation direction recognition unit configured to receive the rotor position signal and to output a corrected rotor position signal; recognize a rotation direction of the rotor each time one of the signals P1, P2, P3, P4, P5, and P6 is input, when a newly received rotor position signal from the rotor position signal generator is a signal that proceeds from a preceding rotor position signal by one stage along a currently recognized rotation direction, which is defined as condition 1, output the newly received rotor position signal as the corrected rotor position signal, when the newly received rotor position signal from the rotor position signal generator is a signal that returns from the preceding rotor position signal by two stages along the currently recognized rotation direction, which is defined as condition 2, correct the currently recognized rotation direction so as to be reversed, and output the newly received rotor position signal as the corrected rotor position signal, and when the newly received rotor position signal from the rotor position signal generator is a signal according to a condition other than the condition 1 and the condition 2, output the preceding rotor position signal as the corrected rotor position signal; and a winding current output unit that is configured to output a current to a winding of a stator based on the corrected rotor position signal. a rotor position detector that is configured to detect a position of a rotor and to output a rotor position detection signal; a rotor position signal generator that is configured to generate signals P1, P2, P3, P4, P5, and P6 as a rotor position signal based on the rotor position detection signal output from the rotor position detector; a rotation direction recognition unit configured to receive the rotor position signal and to output a corrected rotor position signal; recognize a rotation direction of the rotor each time one of the signals P1, P2, P3, P4, P5, and P6 is input, when a newly received rotor position signal from the rotor position signal generator is a signal that proceeds from a preceding rotor position signal by one stage along a currently recognized rotation direction, which is defined as condition 1, output the newly received rotor position signal as the corrected rotor position signal, when the newly received rotor position signal from the rotor position signal generator is a signal that returns from the preceding rotor position signal by two stages along the currently recognized rotation direction, which is defined as condition 2, correct the currently recognized rotation direction so as to be reversed, and output the newly received rotor position signal as the corrected rotor position signal, and when the newly received rotor position signal from the rotor position signal generator is a signal according to a condition other than the condition 1 and the condition 2, output the preceding rotor position signal as the corrected rotor position signal; and a winding current output unit that is configured to output a current to a winding of a stator based on the corrected rotor position signal.