[ The hall sensor mentioned above is ACS712, not ACH712 BTW. ]
If you have a SMPS like this you have to be really careful to shutdown the switch fast if the current goes too high - or else
use a large inductor (slower switching required, more safety margin for saturation).
If the current rises high enough to saturate the inductor then the inductor then just becomes a short-circuit and the current
will slam up to perhaps 10's of amps in a few microseconds or so and blow the MOSFET before the opamp can respond, and certainly
far faster than analogRead()'s 110us execution time.
You would normally use a fast comparator to monitor for this severe overcurrent condition - sub-microsecond response is
good here. Once you have that you might as well let it do the regulation too...