PURPOSE: To develop a program through all the controller for a printing position without receiving limitation on read timing for reading a counter value.
CONSTITUTION: A main CPU 11 outputs a command for control of a number of steps. A one chip CPU 12 analyzes this command to output a motor driving pulse for driving a printing head. The motor driving pulse is counted with a motor driving pulse counted part 14. Besides, a positional data signal of a printing head from a linear encoder while a motor is being driven is counted with an actual position counting part 13. Those both two counted values are compared with a comparing part 15, and said difference is outputted. Then, a motor driving pulse is outputted from a correction pulse output part 16 to the motor driving circuit of the printing head above-mentioned by a pulse content outputted from the comparing part 15, and correction is performed.