The most likely culprit in this situation is a misfire. This could be caused by a number of things, including:
* Spark plug issue: Worn, damaged, or improperly gapped spark plugs.
* Ignition coil problem: A failing ignition coil isn't providing enough spark to ignite the fuel-air mixture in one or more cylinders.
* Worn or damaged wires: Worn or damaged spark plug wires can prevent the spark from reaching the spark plugs.
* Fuel injector issue: A clogged or malfunctioning fuel injector can prevent fuel from reaching the cylinder(s).
* Severe engine mechanical issue: In rare cases, a flashing check engine light can indicate a more serious problem such as a damaged piston or connecting rod.
What to do immediately:
1. Reduce your speed and carefully pull over to a safe location. Do not continue driving at highway speeds.
2. Turn off the engine. Continuing to drive with a misfire can cause catastrophic engine damage.
3. Have the vehicle towed to a mechanic. Do not attempt to diagnose and repair the problem yourself unless you have extensive mechanical experience.
4. Do not restart the engine until the problem has been diagnosed and addressed by a qualified mechanic.
A simple OBD-II code reader can help pinpoint the specific problem, but the flashing light itself means the issue is severe enough to warrant immediate professional attention to prevent potentially costly repairs.