Мастер Ломастер писал(а):1. автор юзает WinAVR, и рассказы про IAR в данном контексте не очень уместны.
Авось одумается и пересядет на качественный продукт ))
Мастер Ломастер писал(а):2. опять-таки, в WinAVR правильная вставка NOP-а заключается в достаточно неочевидном для новичка asm volatile ("nop"); - согласны, что это на самом деле не так-то просто (в смысле, непонятно, почему именно так)?
Непонятно, объясните почему? У меня при максимальной оптимизации и так работает:
Мастер Ломастер писал(а):3. что касается сравнения for с функциями задержки, то они неуместны в принципе, т.к. грамотно написанная "вручную" задержка вообще не будет отличаться от "библиотечной", но начинающему это не под силу - и ни к чему совершенно. кстати, я не начинающий, но никогда до самописных for-задержек не опускался.
Как это сделать, не используя asm вставки? И что плохого в такой задержке? Это очередной миф, подобный не использованию оператора goto?
Мастер Ломастер писал(а):4. я себе не противоречу. просто вдумайтесь в СМЫСЛ написанного: for(a=0; a<10; a++) _ NOP;
Если я что-то пишу, значит хочу чтобы это было. Компилятор с отключенной оптимизацией ничего не должен убирать по своему хотению. При включении оптимизации, программист уже должен задумываться над тем что пишет.
А включать оптимизацию при освоении МК не стоит, т.к. получаешь кучу проблем.