Отправлено
колян безпарольный 08 февраля 2008 г. 16:53
unsigned long i=0; while(1) { IO0SET_bit.P0_29 = 0x1; // set P0.31 port to high i+=0x00000040; i&=0x0000FFC0; IO0CLR_bit.P0_29 = 0x1; // set P0.31 port to high }
в симуляторе 38 тактов. Пишу в дивайс, гдет 3.3мкс. сокращаю до while(1) { IO0SET_bit.P0_29 = 0x1; // set P0.31 port to high IO0CLR_bit.P0_29 = 0x1; // set P0.31 port to high } в симуляторе 20 тактов. В дивайсе 1.3мкс Я понимаю, медленные ножки у LPC, но как может быть что на 60Мгц 2 операции i+=0x00000040; i&=0x0000FFC0; могут занимать аж 2 мкс при том что всего 18 тактов? Проверил таймером, таки точно 60Мгц. Чезахня?