I took codeine extensively for a year or so, and found that you need to wait 6 hours (give or take) from your last dose if you want your next one to have effect - the explanation I was given at the time is that the enzymes which metabolize it into it's active metabolites stay blocked for 6 hours after dosing. The only real way to take codeine all day is to find a dose which gives you the effects you seek, then take it every 6 hours, I found if I tried to redose before that 6 hours, even if the first dose was under the ceiling dose, it would have no effect.
The problem is that codeine doesn't last 6 hours, so you get that gap of 2 hours where the tail end of the last dose has worn off, but you can't take the new dose, which is very frustrating, especially if you're using it for pain.