[an error occurred while processing this directive]
|
Просто не успеваешь увидеть. Вот гляди:
IO3SET |= 0x4; что должно произойти? Надо считать IO3SET в регистр, в регистре сделать |=0x04, потом записать IO3SET обратно. И то же самое с IO3CLR. А перед записью проскочило твое прерывание. И все плохо. Вообще-то в эти регистры не нужно делать "или", оно происходит автоматически. Надо просто записывать байт в котором единицы в тех битах, которые надо выставить/сбросить.
if (led)
IO3SET = 0x1;
else
IO3CLR =0x1;
for (;;)
{
IO3SET = 0x4;
IO3CLR = 0x4;
}
Успехов!
E-mail: info@telesys.ru